Linux下安裝Apache
1.解壓 tar -zxvf httpd-2.2.15.tar.gz
2.進入httpd-2.2.15目錄,運行
[admin@test208003 httpd-2.2.15]$./configure --prefix=/home/admin/apache --enable-so--enable-mods-shared=most --with-mpm=worker
prefix=<Install_Path> 指明編譯後的二進位檔案安裝到<Install_Path>目錄,用實際安裝路徑替換 <Install_Path>,如--prefix=/usr/local/apache-2.2.15 ,如果省略此配置參數,預設安裝 到/usr/local/apache2目錄。
--enable-so 指明編譯動態載入模組(DSO)支援到httpd二進位檔案,此模組使得Apache的各功能模組可以與核心分開編 譯、運行時動態載入。有了DSO支援,升級和增加模組時只需編譯相關的模組即可,不必重新編譯整個系統。最新版本的 Apache預設編譯此模組到httpd二進位檔案,如果你在使用早期版本的apache並且需要DSO支援,可能要明確指出此選項。
--enable-mods-shared=<MODULE-LIST> 明確指明要以DSO方式編譯的模組,<MODULE-LIST>為空白格分隔的模組名列 表、all或者most,all表示包含所有模組,most表示包含大部分模組,如 --enable-mods-share="rewrite deflate",--enable-mods-share=most,效果等同於多個 --enable-<FEATURE>=share
--with-mpm=<MPM> 先擇Apache多路處理模組,<MPM>={beos|event|worker|prefork|mpmt_os2},prefork為 Unix系統下預設處理模組,它將運行一個非線程型的、預派生的Web伺服器,適合於沒有安全執行緒庫,需要避免線程相容性問 題的系統,它是要求將每個請求相互獨立的情況下最好的MPM,這樣若一個請求出現問題就不會影響到其他請求。worker 為支援混合的多線程多進程的多路處理模組,由於使用線程來處理請求,所以可以處理海量請求,而系統資源的開銷小於基於 進程的MPM,同時,它也使用了多進程,每個進程又有多個線程,以獲得基於進程的MPM的穩定性。如果你的系統是基於線 程安全的,那麼建議使用worker替代prefork,它將使得你的系統得到實際的效能改善。
3.[admin@test208003 httpd-2.2.15]$ make
4.[admin@test208003 httpd-2.2.15]$ make install
5.配置http.conf (注意80連接埠是否被佔用,linux下使用1024之內的連接埠需要root或sudo許可權)
User admin
Group admin
上面2個配置是Apache的安全保證,Apache在開啟連接埠之後,就將其本身設定為這兩個選項設定的使用者
和組許可權進行運行,這樣就降低了伺服器的危險性。這個選項也只用於 Standalone模式,inetd模式在inetd.conf中指定
運行Apache的使用者。由於伺服器必須執行改變身份的setuid()操作,因此初始進程應該具備root許可權,如果是使用非root
使用者來啟動Aapche,這個配置就不會發揮作用。
6.切換至apache 的bin 目錄下
[admin@test208003 bin]$ ./apachectl -k start
Linux下安裝PHP
1.解壓,進入目錄,同apache
2.運行
[admin@test208003 php-5.2.14]$ ./configure --prefix=/home/admin/php--with-apxs2=/home/admin/apache/bin/apxs --with-config-file-path=/home/admin/php/lib
3.運行make和make install ,同apache,
複製php.ini-recommended到php的lib目錄下,改名為php.ini
修改apache設定檔,加入AddType application/x-httpd-php .php
4.php安裝獨立擴充,拿curl擴充舉例,同樣下載curl包,將其解壓安裝
[admin@test208003 curl-7.13.0]$ ./configure --prefix=/home/admin/curl[admin@test208003 curl-7.13.0]$ make[admin@test208003 curl-7.13.0]$ make install
此處注意make時可能會報錯gcc: /usr/lib/libidn.so: No such file or directory 解決方案:
方法一: 執行ln -s /usr/lib64/libidn.so.11.4.6 /usr/lib/libidn.so
一定要注意你的libidn的版本號碼和lib目錄,跟機器位元相關,此處測試的機器是64的,所以選擇lib64.
方法二: ./configure --prefix=/home/admin/curl --with-libidn=/usr/lib64 即指定路徑,還要運行autoreconf.
方法三: ./configure LDFLAGS=-L/usr/lib64 (指定一個環境變數,這個就是告訴gcc去哪兒找.so檔案)
然後編譯產生擴充,進入php源碼目錄
[admin@test208003 php-5.2.14]$ cd ext/[admin@test208003 ext]$ cd curl/[admin@test208003 curl]$ /home/admin/php/bin/phpize[admin@test208003 curl]$./configure --with-curl=/home/admin/curl --with-php-config=/home/admin/php/bin/php-config[admin@test208003 curl]$make[admin@test208003 curl]$ make installInstalling shared extensions: /home/admin/php/lib/php/extensions/no-debug-zts-20060613/[admin@test208003 curl]$ cd /home/admin/php/lib/php/extensions/no-debug-zts-20060613/[admin@test208003 no-debug-zts-20060613]$ ls curl.so[admin@test208003 no-debug-zts-20060613]$
可以看到curl.so已經產生了,在php.ini裡,設定擴充目錄: extension_dir = /home/admin/php/lib/php/extensions/no-debug-zts-20060613/" 並添加擴充模組引用: extension = curl.so 重啟apache即可
5.安裝pdo的mysql擴充進入php源碼目錄
[admin@test208003 php-5.2.14]$ cd ext/[admin@test208003 ext]$ cd pdo_mysql/[admin@test208003 pdo_mysql]$ /home/admin/php/bin/phpize[admin@test208003 pdo_mysql]$ ./configure --with-php-config=/home/admin/php/bin/php-config[admin@test208003 pdo_mysql]$ make[admin@test208003 pdo_mysql]$ make install
最後修改php.ini加入extension=pdo_mysql.so,重啟apache即可
6. php一次性安裝mysql,curl,pdo擴充,更簡單的方法只需在configure參數修改即可
./configure --prefix=/home/admin/php --with-apxs2=/home/admin/apache/bin/apxs --with-config-file-path=/home/admin/php/lib --with-mysql=/home/admin/mysql --with-pdo-mysql=/home/admin/mysql --with-curl=/home/admin/curl --enable-mbstring
這樣配置的前提是mysql資料庫和curl已裝好。
Linux下安裝MySQL
1.解壓mysql的源碼包mysql-5.1.50.tar.gz,切換到安裝目錄下
./configure --prefix=/home/admin/mysql --sysconfdir=/home/admin/mysql --localstatedir=/home/admin/mysql/data--with-unix-socket-path=/home/admin/mysql/tmp/mysql.sock --with-charset=gbk --with-plugins=innobase --with-client-ldflags=-all-static--with-mysqld-ldflags=-all-static
sysconfdir表示mysql的設定檔路徑,localstatedir表示資料檔案路徑,socket配置和最後2個屬性主要用來提升效能
如果要使用innodb引擎,記得加上--with-plugins=innobase
make
make install
2.複製/home/admin/mysql/share/mysql/my-medium.cnf 到mysql根目錄下,改名為my.cnf
切換到mysql的bin目錄下,運行
./mysql_install_db --basedir=/home/admin/mysql --datadir=/home/admin/mysql/data
3.複製/home/admin/mysql/libexec/mysqld到mysql的bin目錄下,啟動mysql服務
/home/admin/mysql/bin/mysqld_safe --ledir=/home/admin/mysql/bin --log-error=/home/admin/mysql/data/t.err --datadir=/home/admin/mysql/data --socket=/home/admin/mysql/tmp/mysql.sock --pid-file=/home/admin/mysql/data/mysqld.pid &
再用ps命令查看mysql是否啟動,如果不能啟動用netstat命令檢查3306連接埠是否被佔用,如果是則修改my.cnf的連接埠配置。
切換到mysql的bin目錄下,運行 ./mysqladmin -u root password '123' 來修改root登入密碼
修改/home/admin/mysql/share/mysql/mysql.server代碼
pid_file=/home/admin/mysql/data/mysqld.pid
停止mysql服務
/home/admin/mysql/share/mysql/mysql.server stop
為了方便,可以把啟動和停止mysql服務命令寫成shell指令碼.
建議在my.cnf中添加sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
━━━━━━━━Written By 桃子━━━━━━━━