天天看點

Linux+Apache+PHP+Mysql快速安裝

Linux+Apache+PHP+Mysql快速安裝

沒什麼東西,隻是個人筆記。在一個不知名的Linux版本上的裝的,看核心版本,好像是RH9。Linux下沒有Ports,但是有yum,隻是系統沒裝,于是全部手工安裝。

下載下傳基本核心包

apache_1.3.34.tar.gz

mysql-4.1.16.tar.gz

php-4.4.1.tar.gz

每個包都解包:

tar zxvf xxxx.tar.gz

安裝Apache

apache預設程序無法滿足我們高負荷的要求,修改同時開啟程序數最大為2048,也可以自己手動修改

cd ./apache_1.3.34

mv src/include/httpd.h src/include/httpd.h.orig

sed -e "s/256/2048/" src/include/httpd.h.orig > src/include/httpd.h

./configure --prefix=/usr/local/apache --enable-module=so --enable-module=rewrite

make

make install

Apache其他設定:通路權限、日志、虛拟目錄、虛拟主機、phpMyadmin等等

安裝Mysql

cd ./mysql-4.1.16

./configure --prefix=/usr/local/mysql

useradd mysql

chsh -s /sbin/nologin mysql

scripts/mysql_install_db

cd /usr/local/mysql

chgrp -R mysql ./*

cd ./var

chgrp -R mysql ./*

chown -R mysql ./*

/usr/local/mysql/bin/mysqld_safe --user=mysql &

如果沒有無錯應該啟動,有錯誤去看 /usr/loval/mysql/var/xxxx.err

另外,如果可能以後資料會比較多的話,那麼建議把資料庫放到一個空間比較大的分區,然後ln一個軟連結過去。

比如我們的分區 /data 是個有40G空間的分區,那麼我們想把Mysql的資料庫放裡面,那麼我們就可以先關閉mysql:

/usr/local/mysql/bin/mysqladmin shutdown

mv /usr/local/mysql/var /data

ln -s /data/var /usr/local/mysql/var

然後啟動mysql,發現運作正常,但是我們實際的資料已經在 /data/var 下面了。

mysql預設的配置檔案是在資料庫目錄 /usr/local/mysql/var下面滴,是以我們複制一個配置檔案過去:

cp /usr/local/mysql/share/mysql/my-medium.cnf /usr/local/mysql/var/my.cnf

重新開機生效果,以後修改配置直接修改/usr/local/mysql/var/my.cnf

Mysql其他設定:打開日志、資料同步、監控SQL執行速度、其他高負載設定

安裝PHP

安裝php子產品支援的包

下載下傳包請自行google,或者任何途徑,版本應該比以下的新。

gettext-0.14.5.tar.gz <getText>

libiconv-1.10.tar.gz <iconv>

expat-2005-12-23.tar.gz <xml>

zlib-1.2.3.tar.gz <zlib>

libxml2-2.6.22.tar.gz <dom/xml>

jpegsrc.v6b.tar.gz <gd>

libpng-1.2.8-config.tar.gz <gd>

freetype-2.1.10.tar.gz <gd>

curl-7.15.1.tar.gz <curl>

以上包都執行:

tar zxvf xxxxx.tar.gz

編譯:

./configure --prefix=/usr/local

make

make install

注意,jpegsrc.v6b.tar.gz必須不一樣:

make install-lib

編譯php

./configure  --prefix=/usr/local/php --with-apxs=/usr/local/apache/bin/apxs /

--with-iconv --enable-mbstring --with-gd --with-jpeg-dir=/usr/local /

--with-png-dir=/usr/local --with-freetype-dir=/usr/local --with-ttf --enable-gd-native-ttf /

--with-zlib-dir=/usr/lib --with-dom=/usr/local --with-mysql=/usr/local/mysql /

--with-curl=/usr/local

make

make install

無誤則成功,否則檢查過程或包是否裝全

修改 /usr/local/apache/conf/httpd.conf,添加:AddType application/x-httpd-php .php

寫一檔案 /usr/local/apachen/htdocs/phpinfo.php,裡面加入:

<?phpinfo();?>

啟動apachen: /usr/local/apachen/bin/apachectl start

通路:http://ip/phpinfo.php

無誤則安裝完成。

============================================

附:PHP包介紹

curl-7.13.1_1         Non-interactive tool to get files from FTP, GOPHER, HTTP(S)

expat-1.95.8           XML 1.0 parser written in C

libxml                       Libxml2 is the XML C parser and toolkit developed for the Gnome project

gettext-0.14.1         GNU gettext package

jpeg-6b_3                IJG's jpeg compression utilities

libjpeg                      libjpeg 軟體包包含 jpeg 庫. 這些庫使圖形檔案在聯合圖象專家組的标準上壓縮.

libpng                       libpng is the official PNG reference library.

libiconv-1.9.2_1     A character set conversion library

libtool-1.5.10_1     Generic shared library support script (version 1.5)

m4-1.4.1                 GNU m4

openldap-client-2.2.23        Open source LDAP client implementation

png-1.2.8_1         Library for manipulating PNG images