習慣了 Debian 系列(Ubuntu),回頭使用 CentOS 時真有些卡,差點就"河蟹"了。
把過程記錄一下,避免下次又遇到:
1. 安裝 Remi/EPEL 套件庫
CentOS/RHEL 6, 64 Bit:
# rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
2. 安裝 Apache,MySQL, PHP
# yum --enablerepo=remi install httpd
# yum --enablerepo=remi install mysql mysql-server
# yum --enablerepo=remi install php php-common
# yum --enablerepo=remi install php-common php-cli php-mysql
3. 執行 mysql 初步設定
# service mysqld start
# /usr/bin/mysql_secure_installation
會詢問 root 密碼、詢問是否刪除空白密碼的帳號
4. 設定 AMP 開機自動執行
# chkconfig httpd on
# chkconfig mysqld on
※重新開機檢查服務是否自動執行(ps, netstat)
5. 安裝 moodle 需要的 php 套件
# yum --enablerepo=remi install php-iconv php-mbstring php-curl php-openssl php-tokenizer php-xmlpc php-soap php-ldap php-pecl-apc php-ctype php-zip php-gd php-simplexml php-spl php-pcre php-dom php-xml php-xmlrpc php-intl php-json
# yum --enablerepo=remi install wget
6. 下載 moodle 最新版(2015/11/05: 2.9)
# cd /var/www/html
# wget https://download.moodle.org/download.php/direct/stable29/moodle-latest-29.zip
# unzip moodle-latest-29.zip
# chmod -R 755 /var/www/html/moodle
# chown -R apache.apache /var/www/html/moodle
7. 建立 moodle data 資料夾
# mkdir /var/www/html/moodledata
# chmod -R 777 /var/www/html/moodledata
# chown -R apache.apache /var/www/html/moodledata
8. 設定網頁虛擬伺服器
# vim /etc/httpd/conf.d/nextschool.ntpc.edu.tw.conf
--------------------------------------------------------------------------------------
<VirtualHost *:80>
ServerName nextschool.ntpc.edu.tw
DocumentRoot /var/www/html/moodle
ErrorLog /var/log/httpd/nextschool.ntpc.edu.tw_error_log
CustomLog /var/log/httpd/nextschool.ntpc.edu.tw_access_log combined
DirectoryIndex index.html index.htm index.php index.php4 index.php5
<Directory /var/www/html/moodle>
Options -Indexes +IncludesNOEXEC +SymLinksIfOwnerMatch
Allow from all
AllowOverride All
Options=ExecCGI,Includes,IncludesNOEXEC,Indexes,MultiViews,SymLinksIfOwnerMatch
</Directory>
</VirtualHost>
重新啟動 apache
# service httpd restart
9. 打開 firewall,允許外部 ip 可以連到 apache 伺服器
#vim /etc/sysconfig/iptables
改成下列內容,存檔後
重新更新firewall規則或
重新開機
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
10. 開啟瀏覽器,利用 domainname 連做 moodle 設定
(省略)
11. 把之前在 opensource 網站修改過的 gauth 複製過來
(略)
12. 從 moodle 的外掛中把 gauth 啟用,並做適當的設定
(略)
13. 在 moodle 的登入畫面中增加 openid 登入的圖片連結
(略)
呼!因為安全性的問題只能從自己操作的電腦做 ssh 連線,也只能用校務系統的帳號密碼,所以本來想叫大師來做的任務,只好自己捲袖子撩落去…,還好勉強完成了。
參考:
- http://www.techoism.com/install-lamp-on-centosrhel/
- http://www.techoism.com/how-to-install-moodle-on-centos/
- http://yenpai.idis.com.tw/archives/273-教學-centos-6-3-設定-1-基本調校與-ssh-連線