lamp

源碼安裝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
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章