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