yum -y install httpd php php-mysql mysql mysql-server
chkconfig mysqld on
/etc/init.d/mysqld start
chkconfig httpd on
/etc/init.d/httpd start
當然你也可以更進一步設定哪些 rc level 才執行他,例如「 chkconfig --levels 235 mysqld on 」
註:如果你還沒設定網域名稱,你可能會得到這提示訊息
「正在啟動 httpd:httpd: apr_sockaddr_info_get() failed for hostname httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName」
解決方法:
註:如果你還沒設定網域名稱,你可能會得到這提示訊息
「正在啟動 httpd:httpd: apr_sockaddr_info_get() failed for hostname httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName」
解決方法:
vi /etc/httpd/conf/httpd.conf 然後尋找字串,增加一行
ServerName your.domain.com.tw:port
就不會有這個錯誤訊息了。
ServerName your.domain.com.tw:port
就不會有這個錯誤訊息了。
firewall
service iptables stop
service iptables stop
chkconfig iptables off
setup mysql
★進一步設定 MySQL★設定 MySQL 資料庫管理者 root 帳戶的密碼,執行「sudo mysql_secure_installation」,他會問你底下幾件事
1. Enter current password for root (enter for none): // 直接按 Enter,因為預設沒密碼
2. Set root password? [Y/n] //輸入 Y 來設定密碼
3. New password: // 輸入 root 新密碼
4. Re-enter new password: // 再一次輸入 root 新密碼
5. Remove anonymous users? [Y/n] //預設 Yes ,直接按 Enter
6. Disallow root login remotely? [Y/n] //預設 Yes ,直接按 Enter
7. Remove test database and access to it? [Y/n] //預設 Yes ,直接按 Enter
8. Reload privilege tables now? [Y/n] //預設 Yes ,直接按 Enter
setup httpd
★使用者網頁目錄位置
vi /etc/httpd/conf/httpd.conf
#UserDir disable 使用者僅能瀏覽個人家目錄
UserDir /home/*/public_html 使用者網頁目錄位置
UserDir /home/*/ 這樣比較好 跟 www 都是同一個位置
service httpd restart
★Apache 禁止列出資料夾目錄(安全性)
刪除 apache 設定檔中的indexes 下方紅色的字即可
Options
AllowOverride None
Order allow,deny
allow from all
★讓使用者新建帳號後,家目錄自動產生 public_html
因為新增使用者時所參考的家目錄在 /etc/skel 目錄內
cd /etc/skel
mkdir public_html
★若想要讓用戶直接擁有一個簡易的首頁,使用
echo "My homepage" > /etc/skel/public_html/index.html
★新建檔案及目錄的預設權限修正
vi /etc/login.defs
UMASK 022
★ SELinux 並沒有放行個人首頁的解決方法
『理論上』就能夠看到你的個人首頁了。不過,可惜的是,我們的 SELinux 並沒有放行個人首頁!所以,此時你會發現瀏覽器出現 『You don't have permission』的訊息!趕緊看一下你的 /var/log/messages,裡面應該會教你進行這項工作:
[root@www ~]# setsebool -P httpd_enable_homedirs=1 [root@www ~]# restorecon -Rv /home/ # 第一個指令在放行個人首頁規則,第二個指令在處理安全類型! |
http://你的主機名稱/~student/ 就可以看到你的使用者個人網頁囉!
★useradd
★去除毛毛蟲- 以 username 存取個人網頁
將使用者的個人網站設定成為: http://你的主機名稱/student/
方法一:最簡單的方法是這樣的:
[root@www ~]# cd /var/www/html [root@www html]# ln -s /home/student/www student |
由於我們首頁的『 Options 』內有 FollowSymLinks 這個參數的原因,所以可以直接使用連結檔即可。
方法二:我們也可以使用 Apache 提供的別名功能 (Alias),例如這樣做:
[root@www ~]# vim /etc/httpd/conf/httpd.conf # 找個不與人家設定值有干擾的地方加入這個設定項目: Alias /student/ "/home/student/www/" |
不過,如果你使用這個方法的話得要特別注意,在 httpd.conf 內的 Alias 後面接的目錄,需要加上目錄符號 (/) 在結尾處, 同時,網址列必須要輸入 http://IP/student/ !亦即是結尾也必須要加上斜線才行!否則會顯示找不到該 URL 喔!
★Apache2 去除毛毛蟲 - 以 username 存取個人網頁
在存取個人網頁時,都要在 username 之前加上個「~」符號,如果這樣您嫌麻煩,而想直接輸入 username 就可以開啟網頁的話,那麼提供兩種做法給您參考 ( 以 barry 為例 ):
方法一:設定 barry 的別名在存取個人網頁時,都要在 username 之前加上個「~」符號,如果這樣您嫌麻煩,而想直接輸入 username 就可以開啟網頁的話,那麼提供兩種做法給您參考 ( 以 barry 為例 ):
suse:/etc/apache2 # vi default-server.conf Alias /barry/ "/home/barry/public_html/" suse:~ # rcapache2 restart |
這樣當您所輸入的 URL 為「http://192.168.1.111/barry/」時,就會轉而向 /home/barry/public_html/ 目錄做存取。
方法二:建立符號連結
http://www.suse.url.tw/sles10/lesson16.htm#16
suse:/srv/www/htdocs # ln -s /home/barry/public_html barry suse:/etc/apache2 # vi default-server.conf Options FollowSymLinks AllowOverride None Order allow,deny Allow from all # Options 的部分請修改成 FollowSymLinks,這樣才能讓 /srv/www/htdocs/barry # 這個符號連結檔,能連結到此目錄以外的地方。 suse:~ # rcapache2 restart |