源碼安裝lamp
首先把selinux禁用
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config //重啓後永久生效
setenforce 0 //臨時禁用selinux
安裝必要的編譯工具 gcc gcc-c++ make automake autoconf kernel-devel
安裝php所需要的依賴包 libxml2-devel openssl-deve curl-devel libjpeg-devel libpng-devel
????yum-y install gcc gcc-c++ make automake autoconf kernel-develncurses-devel libxml2-devel openssl-devel curl-devel libjpeg-devellibpng-devel pcre-devel libtool-libs freetype-devel gd zlib-devel
file bison patch mlocate flex diffutils readline-devel
glibc-devel glib2-devel bzip2-devel gettext-devel libcap-devel
libmcrypt-devel ????
下載所需要的源碼
http://mirrors.sohu.com/
apache:http://httpd.apache.org/
mysql:http://mysql.com/downloads/mysql/
php:http://php.net/downloads.php
phpmyadmin:http://www.phpmyadmin.net/home_page/downloads.php
1.MYSQL 安裝
mysql從5.5版本開始,不再使用./configure編譯,而是使用cmake編譯器,具體的cmake編譯參數可以參考mysql官網文檔(※ 非常重要)
http://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.html
mysql-5.5.28.tar.gz源碼包下載地址:
http://cdn.mysql.com/Downloads/MySQL-5.5/mysql-5.5.28.tar.gz
重新編譯時,需要清除舊的對象文件和緩存信息
# make clean
# rm -f CMakeCache.txt
mysql目錄配置如下:
安裝路徑:/usr/local/mysql
數據庫路徑:/data/mysql
源碼包存放位置:/usr/software
準備工作:安裝基本依賴包,先用yum安裝cmake、automake 、autoconf ,另MySQL 5.5.x需要最少安裝的包有:bison,gcc、gcc-c++、ncurses-devel
cmake
# yum -y install gcc gcc-c++ make ncurses-devel
# wget http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz
# cd cmake-2.8.4
# ./configure && make && make install
tar xf mysql.tar -C /usr/local/mysql
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-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
###參數說明:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql //安裝目錄
-DMYSQL_DATADIR=/usr/local/mysql/data //數據庫存放目錄
-DWITH_MYISAM_STORAGE_ENGINE=1 //安裝myisam存儲引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1 //安裝innodb存儲引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 //安裝archive存儲引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 //安裝blackhole存儲引擎
-DENABLED_LOCAL_INFILE=1 //允許從本地導入數據
-DDEFAULT_CHARSET=utf8 //使用utf8字符
-DDEFAULT_COLLATION=utf8_general_ci //校驗字符
-DEXTRA_CHARSETS=all //安裝所有擴展字符集
-DMYSQL_TCP_PORT=3306 //MySQL監聽端口
-DMYSQL_USER=mysql //MySQL用戶名
其他參數:
-DWITH-EMBEDDED_SERVER=1 //編譯成embedded MySQL library (libmysqld.a)
-DSYSCONFDIR=/etc //MySQL配輯文件
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock //Unix socket 文件路徑
-DWITH_READLINE=1 //快捷鍵功能
-DWITH_SSL=yes //SSL
-DWITH_MEMORY_STORAGE_ENGINE=1 //安裝memory存儲引擎
-DWITH_FEDERATED_STORAGE_ENGINE=1 //安裝frderated存儲引擎
-DWITH_PARTITION_STORAGE_ENGINE=1 //安裝數據庫分區
-DINSTALL_PLUGINDIR=/usr/local/mysql/plugin //插件文件及配置路徑
make && make install
groupadd -g mysql mysql
# useradd -u mysql -g mysql -M -s /sbin/nologin mysql
# chown -R mysql:mysql /usr/local/mysql
# cp support-files/my-large.cnf /etc/my.cnf
# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
# cp support-files/mysql.server /etc/init.d/mysqld
# chmod +x /etc/init.d/mysqld
# chkconfig --add mysqld
# chkconfig --level 2345 mysqld on
service mysqld restart
啓動是失敗
主要原因是第二次安裝mysql,之前的沒有stop就進行卸載。有殘餘進程在運行所以出現錯誤
動mysql數據庫,會輸出一系列有用的信息,告訴你接下去如何初始化mysql
按照上述英文,我們來初始化管理員root的密碼
[root@localhost ~]# /usr/bin/mysqladmin -u root password 'yourpassword'
衆所周知,mysql有兩種帳號類型,即localhost和%,前者限本機連接mysql,後者可用於其它機器遠程連接mysql
最後,處理帳號登錄問題,讓root帳號密碼可以本地和遠程連接使用
[root@localhost ~]# mysql -u root -p #敲入該命令後,屏幕會提示輸入密碼,輸入上一步設置的yourpassword
刪除root密碼爲空的記錄
mysql> use mysql;
mysql> delete from user where password='';
mysql> flush privileges;
配置mysql允許root遠程登錄
本地登錄mysql一定要絕對路徑纔可以使用mysql命令
2 .安裝apache
./configure --prefix=/usr/local/apache --with-included-apr --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=so --enable-rewrite --enable-ssl
安裝編譯出現錯誤 apr 和apr-util沒有安裝上,http源碼報裏面自帶,編譯安裝上就可以了
1. cp build/rpm/httpd.init /etc/init.d/httpd //使用init腳本管理httpd
2. chmod 755 /etc/init.d/httpd //增加執行權限
3. chkconfig –add httpd //添加httpd到服務項
4. chkconfig httpd on //設置開機啓動
5. ln -fs /usr/local/apache/ /etc/httpd
6. ln -fs /usr/local/apache/bin/httpd /usr/sbin/httpd
7. ln -fs /usr/local/apache/bin/apachectl /usr/sbin/apachectl
8. ln -fs /usr/local/apache/logs /var/log/httpd //設置軟鏈接以適應init腳本
重啓有問題,可能是以前進程殘餘問題,沒有解決
netstat -lnp |grep 80
3 . 安裝php
1、centos 6官方源已經沒有libmcrypt的rpm包,我們這裏選擇編譯安裝,當然你也可以導入第三方源安裝(centos 5略過此步)。
下載源碼:
1. cd /tmp
2. wget http://superb-dca2.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
3. wget http://superb-dca2.dl.sourceforge.net/project/mhash/mhash/0.9.9.9/mhash-0.9.9.9.tar.gz
4. wget http://superb-sea2.dl.sourceforge.net/project/mcrypt/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz
5. tar xzf libmcrypt-2.5.8.tar.gz
6. tar xzf mhash-0.9.9.9.tar.gz
7. tar xzf mcrypt-2.6.8.tar.gz
8. //安裝libmcrypt
9. cd /tmp/libmcrypt-2.5.8
10. ./configure –prefix=/usr
11. make && make install
12. //安裝libmcrypt
13. cd /tmp/mhash-0.9.9.9
14. ./configure –prefix=/usr
15. make && make install
16. //安裝mcrypt
17. /sbin/ldconfig //搜索出可共享的動態鏈接庫
18. cd /tmp/mcrypt-2.6.8
19. ./configure
20. make && make install
2、解決可能出現的libiconv錯誤。
1. cd /tmp
2. wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
3. tar xzf libiconv-1.14.tar.gz
4. cd libiconv-1.14
5. ./configure –prefix=/usr/local/libiconv
6. make && make install
./configure –prefix=/usr/local/php–with-apxs2=/usr/local/apache/bin/apxs –with-config-file-path=/etc–with-config-file-scan-dir=/etc/php.d –with-openssl –with-zlib–enable-bcmath –with-bz2 –with-curl –enable-ftp –with-gd –enable-gd-native-ttf –with-gettext –with-mhash –enable-mbstring –with-mcrypt –enable-soap –enable-zip –with-iconv=/usr/local/libiconv –with-mysql=/usr/local/mysql –without-pear
1. cp php.ini-dist /usr/local/php/etc/php.ini //複製配置文件php.ini
在/etc/httpd/conf/httpd.conf文件中加入php文件類型解析:
1. Addtype application/x-httpd-php .php
重啓httpd:
1. service httpd restart
參考
http://www.2cto.com/os/201110/106849.html
http://hi.baidu.com/dalyblog/item/b57cf72f5024e2cdef10f1e3