Google Code Prettify - 輕量級的語法上色工具

星期二, 10月 22, 2013

CentOS LAMP = Linux + Apache + Mysql + PhP

install
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」
解決方法:
vi /etc/httpd/conf/httpd.conf 然後尋找字串,增加一行
ServerName your.domain.com.tw:port
就不會有這個錯誤訊息了。

firewall
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

http://blog.xuite.net/tolarku/blog/65424317-%E5%AE%89%E8%A3%9D+LAMP+-+%E5%9C%A8+CentOS+6.3+%E8%A3%A1%E5%AE%89%E8%A3%9D+Apache%E3%80%81Mysql%E3%80%81Php


setup httpd
★使用者網頁目錄位置
vi /etc/httpd/conf/httpd.conf
#UserDir disable 使用者僅能瀏覽個人家目錄
UserDir /home/*/public_html 使用者網頁目錄位置
UserDir /home/*/ 這樣比較好 跟 www 都是同一個位置
service httpd restart

★Apache 禁止列出資料夾目錄(安全性)
刪除 apache 設定檔中的indexes 下方紅色的字即可
Options Indexes FollowSymLinks MultiViews
    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

http://blog.xuite.net/yipo.lin/blog/33176785-%E6%96%B0%E5%A2%9E%E4%BD%BF%E7%94%A8%E8%80%85%E4%B8%A6%E5%BB%BA%E7%AB%8B%E5%A5%BDftp%E5%8F%8A%E5%80%8B%E4%BA%BA%E7%B6%B2%E9%A0%81%E8%B3%87%E6%96%99%E5%A4%BE%E6%AC%8A%E9%99%90

 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/"

        Options FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all


[root@www ~]# /etc/init.d/httpd restart
不過,如果你使用這個方法的話得要特別注意,在 httpd.conf 內的 Alias 後面接的目錄,需要加上目錄符號 (/) 在結尾處, 同時,網址列必須要輸入 http://IP/student/ !亦即是結尾也必須要加上斜線才行!否則會顯示找不到該 URL 喔!
http://vbird.dic.ksu.edu.tw/linux_server/0360apache_3.php

Apache2 去除毛毛蟲 - 以 username 存取個人網頁 
 在存取個人網頁時,都要在 username 之前加上個「~」符號,如果這樣您嫌麻煩,而想直接輸入 username 就可以開啟網頁的話,那麼提供兩種做法給您參考 ( 以 barry 為例 ):
方法一設定 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/ 目錄做存取。 
方法二:建立符號連結
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
http://www.suse.url.tw/sles10/lesson16.htm#16