梁小芳的記事本

「上大聯盟不是夢想,是我的目標。」-松坂大輔

« 上一篇 | 下一篇»

LAMP與Moodle教學平台建置
文章作者: plrts @ 文章發表日期: 2008年 七月 17日 星期四 15:23:52

LAMPMoodle教學平台建置

推薦瀏覽軟體:Mozilla Firefox + Auto Copy 擴充套件

參考資料來源:
http://apt.nc.hcc.edu.tw/web/student_server_FC5/student_server_FC5.html
學生用伺服器建置流程(Fedora Core 5 版)

相關網路資料

IP192.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版本(共五片)

 

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. 這裡是以 新竹縣網義守大學FTP 站台為範例,路徑一定要對,否則就會出現錯誤訊息

  2. 若別的 FTP 站台速度較佳的話,當然也可以設別的 FTP

安裝過程注意事項:

1.
磁碟分割:請依您的需求與規劃分割
2.
在軟體選擇的地方點選「立即自訂」,然後取消所有的勾選,只留下「Base System」內的「基礎」(

PieTTYPtTTYMicrosoft Windows 下好用的 ssh 連線工具

PieTTY 官方網站:http://ntu.csie.org/~piaip/pietty/

下載:http://ntu.csie.org/~piaip/pietty/stable/pietty0327.exe
設定:
  1. 選項 / 字元編碼 / Unicode圖一
  2. 選項 / 亞洲語系修正 / 取消勾選「Unicode 亞洲寬符號字元」(圖二

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 基本指令介紹

vi or vim)是 Unix-like 作業系統下最通用、強悍的文字編輯器,儘管入門困難,建議一定要花時間將其基本操作學會

輸入:aio
到第一行:gg
到最後一行:G
到某一行:xxG
到行首:0
到行末:$
複製:yy
貼上:p
復原:u
刪一個字:x
刪整行:dd
顯示行數::set nu
不顯示行數::set nonu
vi 的搜尋:/、再次搜尋:n
shell:sh(在 shell 中回到 viexit
儲存::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

tcp_wrappers 基本設定

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 FAQhttp://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

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 yumhttp://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

250ServerAdmin 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
746AddDefaultCharset 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

12anonymous_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

#在檔案最後面加入下面這一行

chroot_local_user=YES

echo 'sysadm' >> /etc/vsftpd/chroot_list

/etc/rc.d/init.d/vsftpd start
chkconfig vsftpd on

 

touch /home/sysadm/ftptest.txt

測試:lftp -u sysadm IP(或 lftp sysadm@IP

限制每個 IP 最大連線數量:max_per_ip=5
限制傳輸速率:local_max_rate=3000030000 30KB

lftp 介紹:getmgetputmputmirrorexit bg!<shell-command>
vsftpd
官方文件:http://vsftpd.beasts.org/vsftpd_conf.html

如何上傳網頁到 /var/www/html

底下使用 link 的方式將 /var/www/html 資料夾連結到 /home/sysadm/web,這樣我們就可以用 sysadm 帳號上傳網頁了

chmod 755 /home/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 介紹

FileZillaMicrosoft Windows 下好用的 ftp 自由軟體)

FileZilla 官方網站:http://filezilla.sourceforge.net/

下載:http://nchc.dl.sourceforge.net/sourceforge/filezilla/FileZilla_2_2_22_setup.exe

注意FileZilla 的傳輸過程預設是沒有加密的,有安全性的風險,您可以在「伺服器型態」的地方勾選「SFTP 使用 SSH2」,為傳輸過程加密(

scpsftp 介紹
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

302max_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

18DirectoryIndex 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 修改

MySQLroot 密碼忘了怎麼辦?

/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 Documentationhttp://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
#
每星期天早上六點電腦重新開機
#
以上設定僅供參考,請視自己狀況設定

安裝 ClamAV

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 修改成--&

Power by LifeType. Template design by JamesHuang. Valid XHTML and CSS