1. MySQL 編譯 :
首先先增加 mysql 的群組跟使用者
#groupadd mysql
#useradd -g mysql mysql
然後再到 /etc/passwd 的檔案裡
找到 mysql 那一行
把後面的 改成 /sbin/nologin
再到
http://dev.mysql.com/downloads/ 下載新版的 mysql
下載完之後解壓縮在切換至該目錄打入
./configure --prefix=/usr/local/mysql \ <== mysql 檔案安裝位置
--localstatedir=/usr/local/mysql/var \ <== mysql 資料庫存放位置--with-tcp-port=3306 \ <== 使用的 PORT
--with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock \ <==
這可以在 my.cnf 中指定 --with-charset=utf8 \ <== mysql 5 之後最好只用 utf8
--with-extra-charsets=all \
--with-mysqld-ldflags=-all-static \ <== 靜態編譯可增加 mysql 效能
--with-mysqld-user=mysql
執行完直接 make&&make install
安裝完
執行/usr/local/mysql/bin/mysql_install_db 完成後就會出現 "var"這個資料夾
再來建立 tmp 的資料夾
mkdir /usr/local/mysql/tmp
以上完成後更改權限為 mysql
chown -R mysql.mysql /usr/local/mysql
/usr/local/mysql/share/mysql下複製 my-small.cnf 到 /etc/my.cnf
最後執行 /usr/local/mysql/share/mysql/mysql.server start 就完成嚕
2. APACHE 編譯:
apache 編譯很簡單
先建立群組跟使用者
#groupadd www <==
suse 原本就有建立 所以可省略 #useradd -g www www
./configure --prefix=/usr/local/apache \ <== 安裝apache的位置
--enable-so \ <== 啟用模組
--enable-ssl \ <== 啟用ssl
--enable-rewrite \ <== 啟用rewrite
執行完直接 make&&make install
安裝完後打入 /usr/local/apache/bin/apachectl start 就完成嚕
3. PHP 編譯:
最後為 PHP 編譯
也是蠻重要的部份
./configure --prefix=/usr/local/php \ <== 安裝php的位置--with-apxs2=/usr/local/apache/bin/apxs \ <== apache2的目錄位置--with-mysql=/usr/local/mysql/ \ <== mysql的目錄位置--with-gd \
--with-jpeg-dir=/usr/lib \ <== 安裝gd模組--with-zlib-dir=/usr/lib \ --with-libxml-dir=/usr/lib \
--with-openssl \ <== 啟用 ssl
--enable-socket \ <== 啟用socket--enable-magic-quotes \ --enable-libgcc \ --enable-ftp \ <== 啟用ftp--enable-mbstring \--enable-debug \--enable-fastcgi \--enable-module=so
如果本身就是一個程式開發者大概會知道需要哪些功能需要或不要
但是如果像我一樣只是網管
往往當成程式人員需要某功能時 而剛好又沒在編譯時開啟
這時就會造成困擾 所以我建議如果只是提供平台給開發者時
最好多開一些功能 要不然到時又要跟你要會很麻煩
在編譯時如遇到問題 大部分都是 XXX-devel.rpm <== 套件沒裝 再來是設定 apache 部分 設定檔 : /usr/local/apache/conf/httpd.conf
編輯 httpd.conf
檢查是否有這段 LoadModule php5_module modules/libphp5.so <== 一般編譯完 PHP 都會自動加入
找到 DirectoryIndex,設定首頁名稱加上 index.php index.phtml index.php3
增加AddType項目,找到並增加以下三行:
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .phtml
設定檔 : /usr/local/php/lib
複製php.ini-dist 到 /usr/local/php/lib/php.ini
cp php.ini-dist /usr/local/php/lib/php.ini
完成以上動作後重新啟動 /usr/local/apache/bin/apachectl restart
最後用 nestat -tunlp 查詢服務是否都有啟動