搜尋此網誌

2011年10月20日 星期四

Debian - LAMP

REFERENCE


1.apache
apt-get  install  apache2  apache2-mpm-prefork


  • prefork
    • 這是最傳統的模式,運作時會有數個 child processes,每個 processes 都只跑一個 thread。因此每個 thread 都隸屬於不同 processes 不會互相干擾,雖然效能較差且耗費比較多記憶體,但是對於有安裝一些第三方的模組時穩定性比較好!例如安裝 PHP 時一定要用這個 thread model,不過若先裝 Apache 預設的 mpm-worker 也沒關係,偉大的套件管理系統會自動幫您換成 mpm-prefork 版的 Apache。






2.php
apt-get  install  php5  libapache2-mod-php5 php5-gd php5-mysqli


3.mysql
apt-get  install  mysql-server mysql-client  libapache2-mod-auth-mysql  php5-mysql






apache相關設定檔/etc/apache2/


httpd.conf


apache2.conf → 全域設定。在設定檔中,有很多被註解起來的地方實際上已經分離到其他地方了,所以若沒有必要的話,儘量不要把那些註解起來的東西啟用唷!


sites-available/ → 可用的各別虛擬主機設定檔(沒有啟用)


sites-enabled/ → 要啟用的各別虛擬主機設定檔,要啟用sites-available的設定檔只要用soft link連結到sites-enabled即可



mod-available/ → 可用的模組檔(沒有啟用)


mod-enabled/ → 要啟用的模組檔,要啟用mod-available的模組檔只要用soft link連結到mod-enabled即可


範例1 - 啟用php模組

ln -s /etc/apache2/mods-available/php5.load /etc/apache2/mods-enabled/php5.load
ln -s /etc/apache2/mods-available/php5.conf /etc/apache2/mods-enabled/php5.conf
/etc/init.d/apache2 restart

site啟用工具
a2ensite emook
a2dissite emook


mod啟用工具
a2enmod php5
a2dismod php5


檢查設定檔 → apache2ctl -t
列出虛擬機 → apache2ctl -S




啟用個人網頁
a2enmod userdir


個人網頁設定檔 /etc/apache2/mods-available/userdir.conf:

<IfModule mod_userdir.c>
# 在使用者家目錄底下的 public_html 為個人網頁目錄
UserDir public_html

# 關閉 root 不能使用個人網頁
UserDir disabled root

# 以下是預設的個人網頁目錄設定,若讀者要修改成不是放在 public_html 的話,
# 要同時修改 UserDir 和 以下的 Directory 裡面的目錄位置。
<Directory /home/*/public_html>
AllowOverride FileInfo AuthConfig Limit
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
</Directory>
</IfModule>




PHP 設定檔 /etc/php5/apache2/php.ini






MySQL主要設定檔/etc/mysql/my.cnf
MySQL的帳號和密碼寫在 /etc/mysql/debian.cnf



在知道原始密碼的情況下修改 MySQL 密碼:
mysqladmin -u <帳號> -p password <輸入您要的新密碼>
  1. 按 ENTER 後輸入原來的舊密碼
當您不知道原先的密碼時,或者密碼遺失等等,可以使用救急帳號的帳號密碼來修改其他帳號的密碼。當您修改過 debian.cnf 要把他同步回資料庫,也可以使用這種方式。
用急救帳號或者 root 帳號修改其他帳號的 MySQL 密碼:
  1. 若使用者知道 MySQL root 密碼時,也可以使用同樣方式來修改其他帳號密碼。
  2. 當使用救急帳號時,其實可以不用輸入帳號和密碼,直接用以下指令引入 debian.cnf
  3. mysql --defaults-extra-file=/etc/mysql/debian.cnf
dbtsai@ubuntu:~ $ mysql -u <救急帳號> -p Enter password: <---- 這裡輸入在 Debian.cnf 看到的密碼 mysql> use mysql
  1. 以下範例修改 root 密碼為 abcdef,同樣的方式可以改其他帳號
  2. 也可以用 set password for root@localhost = password('abcdef);
  3. 不過這個是明確指定修改在主機 localhost 上的帳號。
mysql> update user set password=password('abcdef') where user='root';
  1. 將權限紀錄更新
mysql> flush privileges; mysql> quit
最後一種情形是 debian.cnf 裡面的帳號莫名其妙的不能用,而且 root 帳號的密碼也搞丟了,這時候就比較麻煩了!此時需加上省略帳號認證的參數來略過帳號檢查並進入 MySQL 系統中。





apache相關模組


PAM認證 - libapache2-mod-auth-pam


沒有留言:

張貼留言