LAMP編譯安裝

實驗環境如下:

Centos6.0(64位) +httpd2.2.19+mysql5.5.12+php5.3.6
編譯安裝前需要確保如下軟件已安裝gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel*
1. 安裝mysql(mysql 5.5.x 不再用 configure,而用cmake
[root@localhost src]# tar -zxvf cmake-2.8.4.tar.gz
[root@localhost src]# cd cmake-2.8.4
[root@localhost src]# ./configure && make && make install
安裝Mysql
[root@localhost src]# tar -zxvf mysql-5.5.12.tar.gz
[root@localhost src]# cd mysql-5.5.12

 

[root@localhost src]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
        -DMYSQL_DATADIR=/usr/local/mysql/data \
        -DWITH_MYISAM_STORAGE_ENGINE=1 \
        -DWITH_INNOBASE_STORAGE_ENGINE=1 \
        -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
        -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
        -DENABLED_LOCAL_INFILE=1 \
        -DDEFAULT_CHARSET=utf8 \
        -DDEFAULT_COLLATION=utf8_general_ci \
        -DEXTRA_CHARSETS=all \
        -DMYSQL_TCP_PORT=3306 \
        -DMYSQL_USER=mysql
 [root@localhost src]# make && make install
配置mysql,

 

初始化數據庫,沒有錯誤就說明初始化成功

 

使用service啓動服務,並設置開機啓動

 

修改mysql登錄密碼爲123
[root@localhost mysql-5.5.12]# mysqladmin -u root passworf '123'
2.安裝http
[root@localhost src]# tar -zxvf httpd-2.2.19.tar.gz
[root@localhost src]# cd httpd-2.2.19
[root@localhost httpd-2.2.19]# ./configure --prefix=/usr/local/apache2 --enable-ssl --enable-modules --enable-so --enable-rewrite
--prefix:用於指定Httpd服務程序將要安裝到系統目錄,站這裏設置的是缺省目錄/usr/local/apache2
--enable-so:使httpd服務能夠動態加載模塊功能
--enable-rewrite:使httpd服務既有rewrite網頁地址重寫功能
--enable-ssl: 啓用SSL/TLS support (mod_ssl)支持
[root@localhost httpd-2.2.19]# make && make install
啓動apache服務,/usr/local/apache2/bin/apachectl start/stop

 

設置爲開機啓動,在rc.local裏面直接添加上去就OK
[root@localhost httpd-2.2.19]# vi /etc/rc.local

 

1.       編譯php5.3.6
php 相關模塊
 yum -y install libjpeg-devel libpng-devel freetype-devel libxml2-devel libxslt-devel zlib-devel curl-devel mhash-devel openldap-devel gd-devel
 libiconv模塊安裝
[root@localhost src]# tar -zxvf libiconv-1.13.1.tar.gz
[root@localhost src]# cd libiconv-1.13.1
[root@localhost libiconv-1.13.1]# ./configure --prefix=/usr/local/libiconv && make && make install
libmcrypt模塊安裝
[root@localhost src]# tar -zxvf libmcrypt-2.5.8.tar.gz
[root@localhost src]# cd libmcrypt-2.5.8
[root@localhost libmcrypt-2.5.8]# ./configure && make && make install
[root@localhost libmcrypt-2.5.8]# cd libltdl/
[root@localhost libltdl]# ./configure --enable-ltdl-install && make && make install
 mysql庫鏈接
[root@localhost libltdl]# ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18
 
[root@localhost src]# tar -zxvf php-5.3.6.tar.gz
[root@localhost src]# cd php-5.3.6
[root@localhost php-5.3.6]#./configure --prefix=/usr/local/php5 --with-config-file-path=/usr/local/php5/etc --with-mysql=/usr/local/mysql/ --with-mysqli=/usr/local/mysql/bin/mysql_config --with-iconv-dir=/usr/local/libiconv --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --with-curl --with-curlwrappers --with-mhash --with-mcrypt --with-gd --enable-gd-native-ttf --with-xsl --with-openssl --with-ldap --with-ldap-sasl --with-xmlrpc --without-pear --enable-zip --enable-soap --enable-mbstring --enable-ftp --enable-sockets --enable-pcntl --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --disable-rpath --enable-mbregex --with-apxs2=/usr/local/apache2/bin/apxs
碰到錯誤configure: error: libjpeg.(a|so) not found
我們在編譯的時候經常看到一個庫的文件,一般就是以*.a,*.so等名字的,嘗試的搜索搜索,不行就模糊搜索!
通過上面的搜索其實就知道一些原因了,configure一般的搜索編譯路徑爲/usr/lib/下,因爲php默認就在/usr/lib/下找相關庫文件,而x64機器上是在:/usr/lib64.這時你就可以直接把需要的庫文件從/usr/lib64中拷貝到/usr/lib/中去就可以了.
那麼記得要在configure前執行如下的命令:
cp -frp /usr/lib64/libjpeg.* /usr/lib/
configure: error: libjpng.(a|so) not found
其實也是和剛纔的一樣.
cp -frp /usr/lib64/libpng* /usr/lib/
configure: error: Cannot find ldap libraries in /usr/lib.
cp -frp /usr/lib64/libldap* /usr/lib/
類似錯誤很多,方法也很多,我們得靈活應變,具體問題具體分析!
[root@localhost php-5.3.6]# make && make install

 

修改apache配置文件
[root@localhost php-5.3.6]# vi /usr/local/apache2/conf/httpd.conf

 

編譯安裝時候,指定了配置文件目錄,需要先創建目錄,才能複製php.ini配置文件,PHP安裝程序通常不會複製配置文件,
 [root@localhost php-5.3.6]# mkdir /usr/local/php5/etc
[root@localhost php-5.3.6]# cp php.ini-production /usr/local/php5/etc/php.ini
重啓apache然後

 

出現這個頁面後,發現date部分出現錯誤Warning: phpinfo() [function.phpinfo]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Chongqing' for 'CST/8.0/no DST' instead in /usr/local/apache/htdocs/index.php on line 2
實際上,從 PHP 5.1.0 ,當對使用date()等函數時,如果timezone設置不正確,在每一次調用時間函數時,都會產生E_NOTICE 或者 E_WARNING 信息。而又在php5.1.0中,date.timezone這個選項,默認情況下是關閉的,無論用什麼php命令都是格林威治標準時間,但是PHP5.3中好像如果沒有設置也會強行拋出了這個錯誤的,解決此問題,只要本地化一下,就行了。
解決辦法
解決辦法:  
1. 把 index.php 修改成 下面的代碼 
<?php
date_default_timezone_set ('Asia/Shanghai');
phpinfo();
?>
如果不出現錯誤 可以去 編輯/usr/local/php5/etc/php.ini 添加設置時區 
修改date.timezone 的值爲Asia/Shanghai同時取消這一行代碼的註釋,即去掉前面的分號就可以了。
安裝phpmyadmin
[root@localhost src]# tar -zxvf phpMyAdmin-3.4.3.2-all-languages.tar.gz
[root@localhost src]# cp -fr phpMyAdmin-3.4.3.2-all-languages /usr/local/apache2/htdocs/
[root@localhost src]# cd /usr/local/apache2/htdocs/
[root@localhost htdocs]# mv phpMyAdmin-3.4.3.2-all-languages/ ./phpmyadmin
[root@localhost htdocs]# cd phpmyadmin/
[root@localhost phpmyadmin]# cp config.sample.inc.php config.inc.php
[root@localhost phpmyadmin]# vi config.inc.php
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章