LAMP與Moodle教學平台建置
推薦瀏覽軟體:Mozilla Firefox + Auto Copy 擴充套件
參考資料來源:
http://apt.nc.hcc.edu.tw/web/student_server_FC5/student_server_FC5.html
學生用伺服器建置流程(Fedora Core 5 版)
相關網路資料
IP:192.168.0.201~235(依座位而定)
FQDN:test.ttcps.tpc.edu.tw
Domain:ttcps.tpc.edu.tw
DNS Server:163.20.118.5(for 土城國小)
子網路遮罩(netmask):255.255.255.0
閘道器(gateway):192.168.0.254
Fedora Core 5 ISO 檔下載
Fedora 官方網站:http://fedora.redhat.com/
CD版本(共五片)
ftp://apt.nc.hcc.edu.tw/pub/fedora/linux/core/5/i386/iso/FC-5-i386-disc2.iso
ftp://apt.nc.hcc.edu.tw/pub/fedora/linux/core/5/i386/iso/FC-5-i386-disc3.iso
ftp://apt.nc.hcc.edu.tw/pub/fedora/linux/core/5/i386/iso/FC-5-i386-disc4.iso
ftp://apt.nc.hcc.edu.tw/pub/fedora/linux/core/5/i386/iso/FC-5-i386-disc5.iso
DVD版本(共一片)
透過 BitTorrent 下載:
http://torrent.fedoraproject.org/
sha1sum 檢查碼:ftp://apt.nc.hcc.edu.tw/pub/fedora/linux/core/5/i386/iso/SHA1SUM
sha1sum for windows:http://apt.nc.hcc.edu.tw/pub/mirror/sha1sum.exe
網路安裝 ISO 檔:
開機的時候,輸入「linux askmethod」,安裝類型選擇「FTP」
安裝類型為 FTP 時的設定:
FTP 站台名稱:163.19.1.81(或 apt.nc.hcc.edu.tw)
Fedora Core 5 所在目錄:pub/fedora/linux/core/5/i386/os
或
FTP 站台名稱:140.127.177.17(或 ftp.isu.edu.tw)
Fedora Core 5 所在目錄:pub/Linux/Fedora/linux/core/5/i386/os
註:
安裝過程注意事項:
1.磁碟分割:請依您的需求與規劃分割區
2.在軟體選擇的地方點選「立即自訂」,然後取消所有的勾選,只留下「Base System」內的「基礎」(圖)
PieTTY、PtTTY:Microsoft Windows 下好用的 ssh 連線工具
PieTTY 官方網站:http://ntu.csie.org/~piaip/pietty/
下載:http://ntu.csie.org/~piaip/pietty/stable/pietty0327.exe
設定:
PuTTY 官方網站:http://www.chiark.greenend.org.uk/~sgtatham/putty/
下載:http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe
設定:圖一、圖二
PuTTY 官方文件:http://www.chiark.greenend.org.uk/~sgtatham/putty/docs.html
vi (or vim)是 Unix-like 作業系統下最通用、強悍的文字編輯器,儘管入門困難,建議一定要花時間將其基本操作學會
輸入:a、i、o
到第一行:gg
到最後一行:G
到某一行:xxG
到行首:0
到行末:$
複製:yy
貼上:p
復原:u
刪一個字:x
刪整行:dd
顯示行數::set nu
不顯示行數::set nonu
vi 的搜尋:/、再次搜尋:n
到 shell::sh(在 shell 中回到 vi:exit)
儲存::w
離開::q
儲存兼離開::wq 或 shift+zz
強制離開(不儲存)::q!
Vim 官方文件:http://www.vim.org/docs.php
SSH 基本設定
新增管理者帳號:
useradd sysadm
passwd sysadm
注意:這裡是以 sysadm 為例,當然您可以取自己喜歡的名稱,不過文件後續所用到的所有 sysadm 字眼,記得要換成您自取的帳號
只允許管理者使用 ssh 登入:
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
vi /etc/ssh/sshd_config
AllowUsers sysadm
#在檔案最後面加上這一行,這樣就只有 sysadm 可以使用 ssh 連線了
#若要設定多人,就用空格隔開:AllowUsers sysadm sysadm2
重新讀取 ssh 設定檔:
/etc/rc.d/init.d/sshd restart
用 sysadm 帳號登入後,再用 su - 指令變成 root
OpenSSH 官方文件:http://www.openssh.com/manual.html
vi /etc/hosts.deny
ALL:ALL
vi /etc/hosts.allow
ALL:192.168.0.0/255.255.255.0:allow
sshd:ALL:allow
vsftpd:ALL:allow
sendmail:ALL:allow
關閉 SELinux
vi /etc/sysconfig/selinux
SELINUX=enforcing 改成--> SELINUX=disabled
Fedora Core 5 SELinux FAQ:http://fedora.redhat.com/docs/selinux-faq-fc5/
執行 ntsysv 指令,只留下以下服務:
acpid
anacron
cpuspeed
crond
network
sendmail
sshd
syslog
yum
runlevel 介紹:
vi /etc/inittab
ll /etc/rc.d/
vi /etc/rc.d/rc.local
chkconfig 介紹:
chkconfig --list
chkconfig --level 345 xxx on
chkconfig xxx on
chkconfig --list xxx
man 介紹
netstat 介紹:netstat -tl
YUM - Yellowdog Updater Modified
YUM 官方網站:http://linux.duke.edu/projects/yum/
修改設定檔:
cd /etc/yum.repos.d/
cp fedora-core.repo fedora-core.repo.bak
vi fedora-core.repo
[core]
name=Fedora Core $releasever - $basearch
baseurl=ftp://apt.nc.hcc.edu.tw/pub/fedora/linux/core/$releasever/$basearch/os/
#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/$releasever/$basearch/os/
#mirrorlist=http://fedora.redhat.com/download/mirrors/fedora-core-$releasever
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora file:///etc/pki/rpm-gpg/RPM-GPG-KEY
cp fedora-updates.repo fedora-updates.repo.bak
vi fedora-updates.repo
[updates]
name=Fedora Core $releasever - $basearch - Updates
baseurl=ftp://apt.nc.hcc.edu.tw/pub/fedora/linux/core/updates/$releasever/$basearch/
#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/updates/$releasever/$basearch/
#mirrorlist=http://fedora.redhat.com/download/mirrors/updates-released-fc$releasever
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora
cp fedora-extras.repo fedora-extras.repo.bak
vi fedora-extras.repo
[extras]
name=Fedora Extras $releasever - $basearch
baseurl=ftp://apt.nc.hcc.edu.tw/pub/fedora/linux/extras/$releasever/$basearch/
#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/extras/$releasever/$basearch/
#mirrorlist=http://fedora.redhat.com/download/mirrors/fedora-extras-$releasever
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-extras
gpgcheck=1
更新:yum -y update
安裝 vim-enhanced 加強 vi 的功能:
yum -y install vim-enhanced
mv /bin/vi /bin/vi.bak
ln -s /usr/bin/vim /bin/vi
安裝 yum-updateonboot,讓系統在開機的時候就執行 yum 更新:
yum -y install yum-updateonboot
chkconfig yum-updateonboot on
reboot
yum 指令介紹
-
更新:yum update
-
安裝:yum install xxx
-
移除:yum remove xxx
-
清除已經安裝過的檔案:yum clean packages(/var/cache/yum/)
-
搜尋:yum search xxx
-
列出所有檔案:yum list
-
查詢檔案訊息:yum info xxx
群組安裝功能:
yum grouplist
yum groupinstall "Web Server"
一些檔案:
rpm -qc yum
/var/log/yum.log
Managing Software with yum:http://fedora.redhat.com/docs/yum/index.html
RPM 基本指令介紹
-
安裝:rpm -ivh xxx
-
移除:rpm -e xxx
-
升級:rpm -Uvh xxx
-
查詢:
rpm -qa | grep xxx
rpm -qi xxx
rpm -ql xxx
rpm -qc xxx
rpm -qf /etc/yum.conf
rpm -qpi xxx
WEB server
Apache HTTP Server 官方網站:http://httpd.apache.org/
yum -y install httpd mod_ssl
cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak
vi /etc/httpd/conf/httpd.conf
#vi 行數顯示::set nu、到第?行:數字 + G
250行 ServerAdmin root@localhost
354行 UserDir disable 修改成--> #UserDir disable
361行 #UserDir public_html 修改成--> UserDir public_html
390行 DirectoryIndex index.html index.html.var 修改成--> DirectoryIndex index.html index.htm index.php index.html.var
730行 LanguagePriority zh-TW en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN
746行 AddDefaultCharset UTF-8 修改成--> #AddDefaultCharset UTF-8
/etc/rc.d/init.d/httpd start
chkconfig httpd on
注意:web server 架設好之後,個人網頁的功能也啟動了,只要輸入「http://IP/~xxx」即可瀏覽,不過請確定 SELinux 的功能是關閉的,否則將無法正常瀏覽個人網頁。
Apache HTTP Server 官方文件:http://httpd.apache.org/docs-project/
FTP server
vsftpd 官方網站:http://vsftpd.beasts.org/
yum -y install vsftpd
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
vi /etc/vsftpd/vsftpd.conf
12行 anonymous_enable=YES 修改成--> anonymous_enable=NO
51行 #xferlog_file=/var/log/vsftpd.log 修改成--> xferlog_file=/var/log/xferlog
94行 #chroot_list_enable=YES 修改成--> chroot_list_enable=YES
96行 #chroot_list_file=/etc/vsftpd/chroot_list 修改成--> chroot_list_file=/etc/vsftpd/chroot_list
#在檔案最後面加入下面這一行
echo 'sysadm' >> /etc/vsftpd/chroot_list
chkconfig vsftpd on
touch /home/sysadm/ftptest.txt
測試:lftp -u sysadm IP(或 lftp sysadm@IP)
限制每個 IP 最大連線數量:max_per_ip=5
限制傳輸速率:local_max_rate=30000(30000 表 30KB)
lftp 介紹:get、mget、put、mput、mirror、exit bg、!<shell-command>
vsftpd 官方文件:http://vsftpd.beasts.org/vsftpd_conf.html
如何上傳網頁到 /var/www/html
底下使用 link 的方式將 /var/www/html 資料夾連結到 /home/sysadm/web,這樣我們就可以用 sysadm 帳號上傳網頁了
mkdir /home/sysadm/web
chown sysadm.sysadm /home/sysadm/web
cp -rpf /var/www/html/* /home/sysadm/web/
mv /var/www/html /var/www/html.bak
ln -s /home/sysadm/web /var/www/html
察看檔案系統磁碟空間使用狀況:df -h
chown 介紹
FileZilla(Microsoft Windows 下好用的 ftp 自由軟體)
FileZilla 官方網站:http://filezilla.sourceforge.net/
下載:http://nchc.dl.sourceforge.net/sourceforge/filezilla/FileZilla_2_2_22_setup.exe
注意:FileZilla 的傳輸過程預設是沒有加密的,有安全性的風險,您可以在「伺服器型態」的地方勾選「SFTP 使用 SSH2」,為傳輸過程加密(圖)
scp、sftp 介紹
FileZilla 官方文件:http://filezilla.sourceforge.net/documentation/
PHP & MySQL
PHP官方網站:http://www.php.net/
MySQL 官方網站:http://www.mysql.com/
yum -y install php mysql mysql-server php-mysql php-gd php-mbstring
cp /etc/php.ini /etc/php.ini.bak
vi /etc/php.ini
302行 max_execution_time = 300
303行 max_input_time = 600
304行 memory_limit = 80M
467行 post_max_size = 80M
572行 upload_max_filesize = 20M
#上面設定值,請視自己需求修改
vi /etc/httpd/conf.d/php.conf
18行 DirectoryIndex index.php 修改成--> #DirectoryIndex index.php
/etc/rc.d/init.d/httpd restart
vi /var/www/html/phpinfo.php
<?
phpinfo();
?>
測試:以瀏覽器瀏覽 http://IP/phpinfo.php
啟動 MySQL
/etc/rc.d/init.d/mysqld start
chkconfig mysqld on
註:在這裡我們先不設定 MySQL 的 root 密碼,等裝了下面的 phpMyAdmin 之後,再使用 phpMyAdmin 修改
MySQL的 root 密碼忘了怎麼辦?
/etc/rc.d/init.d/mysqld stop
/usr/bin/mysqld_safe --skip-grant-tables &
mysql -u root -p mysql
update user set password=password("新密碼") where user="root" and host="localhost";
flush privileges;
quit
/etc/rc.d/init.d/mysqld stop
/etc/rc.d/init.d/mysqld start
如何重新安裝 MySQL?
/etc/rc.d/init.d/mysqld stop
yum -y remove mysql
rm -rf /var/lib/mysql
yum -y install php mysql mysql-server php-mysql php-gd
/etc/rc.d/init.d/mysqld start
設定密碼:mysqladmin -u root password '密碼'
PHP 官方文件:http://www.php.net/docs.php
MySQL 官方文件:http://dev.mysql.com/doc/
phpMyAdmin
phpMyAdmin 官方網站:http://www.phpmyadmin.net/
cd
wget http://nchc.dl.sourceforge.net/sourceforge/phpmyadmin/phpMyAdmin-2.8.2.1.tar.gz
tar zxvf phpMyAdmin-2.8.2.1.tar.gz
rm -rf phpMyAdmin-2.8.2.1.tar.gz
mv phpMyAdmin-2.8.2.1.tar.gz /var/www/html/phpMyAdmin
cp /var/www/html/phpMyAdmin/libraries/config.default.php /var/www/html/phpMyAdmin/config.inc.php
vi /var/www/html/phpMyAdmin/config.inc.php
31 行 $cfg['PmaAbsoluteUri'] = ''; 修改成--> $cfg['PmaAbsoluteUri'] = 'http://IP/phpMyAdmin/';
71 行 $cfg['Servers'][$i]['auth_type'] = 'config'; 修改成--> $cfg['Servers'][$i]['auth_type'] = 'http';
測試:http://IP/phpMyAdmin/,帳號 root,密碼空白
點選「權限」,然後點選「root localhost」這行後面的「編輯權限」圖示,更改密碼
phpMyAdmin-2.8.2.1.tar.gz Documentation:http://IP/phpMyAdmin/Documentation.html
phpMyAdmin 官方文件:http://www.phpmyadmin.net/home_page/docs.php
設定接收系統報表郵件
vi /etc/aliases
96 行 #root: marc 修改成--> root: 你的Email位址
newaliases
cron
校時:
yum -y install ntp
ntpdate watch.stdtime.gov.tw && clock -w
時間與頻率國家標準實驗室:http://www.stdtime.gov.tw/chinese/home.htm
NTP 校時軟體(for Windows):http://www.stdtime.gov.tw/chinese/EXE/NTPClock.exe
vi /etc/crontab
0 0-23 * * * root /usr/sbin/ntpdate watch.stdtime.gov.tw > /dev/null 2>&1
#每個小時校時一次
0 6 * * 0 root /bin/sync;/bin/sync;/bin/sync;/sbin/shutdown -r now > /dev/null 2>&1
#每星期天早上六點電腦重新開機
#以上設定僅供參考,請視自己狀況設定
cd
wget http://crash.fce.vutbr.cz/Petr.Kristof-GPG-KEY
rpm --import Petr.Kristof-GPG-KEY
mv Petr.Kristof-GPG-KEY /etc/pki/rpm-gpg/
chown root:root /etc/pki/rpm-gpg/Petr.Kristof-GPG-KEY
chmod 0644 /etc/pki/rpm-gpg/Petr.Kristof-GPG-KEY
wget http://crash.fce.vutbr.cz/crash-hat.repo
mv crash-hat.repo /etc/yum.repos.d/
chown root:root /etc/yum.repos.d/crash-hat.repo
chmod 0644 /etc/yum.repos.d/crash-hat.repo
yum -y install clamav clamav-server
cp /etc/clamd.conf /etc/clamd.conf.bak
vi /etc/clamd.conf
72行 #LocalSocket /var/run/clamav/clamd.sock 修改成--&