使用環境:Centos7 64
所用源碼包:
apr-1.5.2.tar.bz2
apr-util-1.5.4.tar.bz2
httpd-2.4.27.tar.gz
mysql-5.6.25.tar.gz
php-5.6.10.tar.bz2
獲取LAMP環境源碼包集合:https://pan.baidu.com/s/1eRBMSBg 均為個人收集
一、編譯安裝Apache
1、解決依賴關系
這里使用的是httpd-2.4.27,需要對apr和apr-util進行升級,可以使用rpm包升級,這里采用源碼進行升級。
(1)編譯安裝apr
# tar -xjvf apr-1.5.2.tar.bz2
# cd apr-1.5.2
# ./configure --prefix=/usr/local/apr
# make && make instal
(2)編譯安裝apr-util
# tar -xjvf apr-util-1.5.4.tar.bz2
# cd apr-util-1.5.4
# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
# make && make instal
(3)httpd-2.4.27編譯過程需要依賴於pcre-devel軟件包
可以使用源碼安裝也可以使用yum安裝,這里為了方便就直接yum安裝了
# yum install pcre-devel
(4)創建用戶,組
# groupadd -r apache
# useradd -r -g apache apache
2、編譯安裝httpd-2.4.27
# tar xf httpd-2.4.27.tar.gz
# cd httpd-2.4.27
# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-mpms-shared=all --with-mpm=event
#checking whether to enable mod_ssl... configure: error: mod_ssl has been requested but can not be built due to prerequisite failures
#報錯說明沒有安裝openssl-devel
#yum install openssl-devel
# make -j 4 && make install
使用腳本控制Apache,啟動服務
# /usr/local/apache2/bin/apachectl start
使用腳本控制Apache,停止服務
# /usr/local/apache2/bin/apachectl stop
3、配置Apache
# vi /etc/httpd/httpd.conf
(1)搜索ServerName www.example.com:80 去掉前面的注釋
(2)修改DocumentRoot到/home/htdocs,以及這一行下面的一句中的<Directory到/home/htdocs 這個是www的根目錄設置
# cp /usr/local/apache/bin/apachectl /etc/init.d/httpd
# vi httpd 在第一行下添加如下兩行文字
# Comments to support chkconfig on RedHat Linux
# chkconfig: 2345 90 90 #注意前面要加上#號
# description:http server #注意前面要加上#號
注冊該服務
# chkconfig --add httpd #所有開機模式下自啟動
# chkconfig httpd on #345開機模式下自啟動
二、編譯安裝Mysql
1、准備數據庫存放的文件系統
創建一個mydata單獨的LVM2文件系統
#pvcreate /dev/sda3
#vgcreate myvg /dev/sda3
#lvcreate -L 10G -n mydata myvg
#mke2fs -t ext4 /dev/myvg/mydata
#mkdir /mydata
#echo "/dev/myvg/mydata /mydata ext4 defaults 0 0" >> /etc/fstab
#mount -a
2、創建用戶、組
# mkdir /usr/local/mysql
# groupadd -r mysql
# useradd -g mysql -r -s /sbin/nologin -M -d /mydata/data mysql
# chown -R mysql:mysql /mydata/data
# chown -R mysql:mysql /usr/local/mysql
3、編譯
從mysql5.5起,mysql源碼安裝開始使用cmake了,設置源碼編譯配置腳本
# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/mydata/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
-DCMAKE_INSTALL_PREFIX=dir_name | 設置mysql安裝目錄 |
-DMYSQL_UNIX_ADDR=file_name | 設置監聽套接字路徑,這必須是一個絕對路徑名。默認為/tmp/mysql.sock |
-DDEFAULT_CHARSET=charset_name | 設置服務器的字符集。 缺省情況下,MySQL使用latin1的(CP1252西歐)字符集。cmake/character_sets.cmake文件包含允許的字符集名稱列表。 |
-DDEFAULT_COLLATION=collation_name | 設置服務器的排序規則。 |
-DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 |
存儲引擎選項: MyISAM,MERGE,MEMORY,和CSV引擎是默認編譯到服務器中,並不需要明確地安裝。 靜態編譯一個存儲引擎到服務器,使用-DWITH_engine_STORAGE_ENGINE= 1 可用的存儲引擎值有:ARCHIVE, BLACKHOLE, EXAMPLE, FEDERATED, INNOBASE (InnoDB), PARTITION (partitioning support), 和PERFSCHEMA (Performance Schema) |
-DMYSQL_DATADIR=dir_name | 設置mysql數據庫文件目錄 |
-DMYSQL_TCP_PORT=port_num | 設置mysql服務器監聽端口,默認為3306 |
-DENABLE_DOWNLOADS=bool | 是否要下載可選的文件。例如,啟用此選項(設置為1),cmake將下載谷歌所使用的測試套件運行單元測試。 |
沒有cmake需要安裝
# yum insatall cmake -y
可能會遇到的報錯:
remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-deve
#提示安裝軟件,根據系統安裝軟件包
#make && make install
4、初始化mysql數據庫
復制配置文件
# cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
修改配置文件
#vi /etc/my.cnf
添加 datadir = /mydata/data
# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/mydata/data
# ln -s /usr/local/mysql/bin/* /bin/
5、設置開機啟動
# chkconfig mysqld on
6、登錄檢測
# mysql -u root -p
三、編譯安裝PHP
1、解決依賴關系
# yum -y install bzip2-devel libmcrypt-devel libxml2-devel
安裝libmcrypt-devel 需要配置epel源,epel源下載地址
2、安裝PHP
# tar -xjvf php-5.6.10.tar.bz2
#cd php-5.6.10
# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --enable-sockets --with-apxs2=/usr/local/apache/bin/apxs --with-mcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 --enable-maintainer-zts
# make && make install
3、為PHP提供配置文件
# cp php.ini-production /etc/php.ini
4、 編輯apache配置文件httpd.conf,以apache支持php
# vim /etc/httpd/httpd.conf
(1)、添加如下二行
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
(2)、定位至DirectoryIndex index.html
修改為:
DirectoryIndex index.php index.html
而后重新啟動httpd,或讓其重新載入配置文件即可測試php是否已經可以正常使用。
5、測試php安裝是否成功:
測試頁面index.php示例如下:
<?php
$link = mysql_connect('127.0.0.1','root','root');
if ($link)
echo "Success...";
else
echo "Failure...";
mysql_close();
phpinfo();
?>