最近想架設 Redmine 在 Ubuntu 伺服器上面,架設之前要先搞定 apache 搭配 mpm worker 及 mod_fcgi module,安裝步驟其實不難,就搭配懶人指令 apt 就可以了。
安裝 apache mpm worker 由於怕安裝過程會叫你把 apache2-mpm-worker 移除,改裝 apache2-mpm-prefork,所以安裝順序上面有些變化,請參考底下:
# 先安裝 $ apt-get install apache2.2-bin apache2.2-common apache2-mpm-worker libapache2-mod-fcgid php5-cli php5-cgi php5-common #後安裝 $ apt-get install apache2 php5 php5-gd php5-curl至於 PHP 5 套件就看你需要什麼就裝什麼吧,搜尋一下 php5-* 看看,apache 裝好預設看不到 PHP 網頁,也就是認不得 php type,請在 apache config 檔案加入底下
修改 /etc/apache2/apache2.conf
# php AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps啟動 fcgid 之前,要先設定
/etc/apache2/mods-available/fcgid.conf,可以參考官網設定方式,在自己微調
修改 php.ini (/etc/php5/cgi/php.ini 跟 etc/php5/cli/php.ini)AddHandler fcgid-script .php .fcgi FcgidIPCDir /var/lib/apache2/fcgid/sock IdleTimeout 3600 ProcessLifeTime 7200 MaxProcessCount 1000 DefaultMinClassProcessCount 3 DefaultMaxClassProcessCount 100 IPCConnectTimeout 8 IPCCommTimeout 360 BusyTimeout 300 FcgidWrapper /usr/bin/php5-cgi .php
cgi.fix_pathinfo=1接下來 enable apache 的 module,利用
a2enmod 指令
a2enmod rewrite a2enmod include a2enmod suexec a2enmod fcgid # 重新啟動 apache service apache2 restart
設定 Apache Virtual Host 我們可以參考
/etc/apache2/sites-available/default 預設範例來建立其他 Virtual Host,由於跑 mod_fcgid,所以在 Options 部份請**務必**加上 ExecCGI。
把此設定檔儲存到ServerName blog.wu-boy.com ServerAdmin nobody@blog.wu-boy.com DocumentRoot /XXXXXX DirectoryIndex index.php Options FollowSymLinks AllowOverride None Options FollowSymLinks ExecCGI # Remove ExecCGI if you do not need php AllowOverride All Order allow,deny allow from all ErrorLog /var/log/apache2/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/other_vhosts_access.log combined
/etc/apache2/sites-available/Blog,接下來用 a2ensite 指令來 enable
# Usage: a2ensite [Virtual Host] a2ensite Blog會發現在
/etc/apache2/sites-enabled/ 資料夾裡面多出 Blog 這 Virtual Host,重新啟動 apache2 就完成了。 參考網站: [Ububtu note.] 關於 Ubuntu, apache, php5, mod_fcgid 與 VirtualBox 筆記 HOWTO: Using php5 with apache2-mpm-worker Hosting multiple websites with Apache2(利用 a2ensite 新增 Virtual Host)
See also
- Debian/Ubuntu 的 update-rc.d 使用教學
- 來聊聊 PHP & JavaScript & CSS 的 Coding Style
- 為什麼我選擇使用 Laravel Framework?
- OpenSSH 安全性漏洞 CVE-2016-0777 and CVE-2016-0778
- Laravel 搭配 Google, Facebook, Twitter 第三方 OAuth 認證
- 將 wordpress 強制使用 SSL 連線
- 在 Debian 7.8 安裝 Gitlab 筆記
- PHP 7 vs HHVM Benchmark 比較
- Docker 救了 Debian SSH terminal
- Laravel 50 個小技巧 + Laravel 5.2 新功能