編譯安裝LAMP
相關包:
apr-1.6.2.tar.gz
httpd-2.4.27.tar.bz2
php-7.1.10.tar.xz
apr-util-1.6.0.tar.gz
mariadb-10.2.8-linux-x86_64.tar.gz wordpress-4.8.1-zh_CN.tar.gz
源碼編譯安裝httpd2.4
1.首先安裝包組和相關的包:yum groupinstall "development tools"
yum install openssl-devel expat-devel pcre-devel
解壓壓縮包:
tar xvf apr-1.6.2.tar.gz
tar xvf apr-util-1.6.0.tar.gz
tar xvf httpd-2.4.27.tar.bz2
官方支持的安裝方法吧apr和apr-util的解壓目錄複製到httpd解壓目錄下直接編譯httpd:
cp -r apr-1.6.2 httpd-2.4.27/srclib/apr
cp -r apr-util-1.6.0 httpd-2.4.27/srclib/apr-util
cd httpd-2.4.27/
./configure --prefix=/app/httpd24 --sysconfdir=/etc/httpd24 --enable-so --enable-ssl --enable-rewrite --with-zlib --with-pcre --with-included-apr --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork
make –j 2 && make install
vim /etc/profile.d/lamp.sh(添加PATH變量)
PATH=/app/httpd24/bin/:$PATH
source /etc/profile.d/lamp.sh(重新加載文件)
apachectl(啓動服務命令)
ss -tnl
到此二進制安裝httpd就完成了
2. 二進制安裝mariadb(在另外一臺主機)
·編譯安裝
tar xvf mariadb-10.2.8-linux-x86_64.tar.gz -C /usr/local/(解壓只能解壓到此目錄)
cd /usr/local/(接下來要在此目錄下創建軟件鏈接,連接名爲mysql,只能爲此名字。或者把解壓的文件名修改爲mysql也可以)
ln -s mariadb-10.2.8-linux-x86_64/ mysql
useradd -r -m -d /app/mysqldb -s /sbin/nologin mysql(編譯安裝默認不創建系統用戶mysql,需要手動創建)
cd mysql/
scripts/mysql_install_db --datadir=/app/mysqldb --user=mysql(/app/mysqldb需要提前創建,這條命令只能在上一步創建的mysql軟連接下執行)
mkdir /etc/mysql
cp support-files/my-large.cnf /etc/mysql/my.cnf(拷貝編譯安裝的配置文件到/etc/mysql下,/etc/mysql需提前創建)
編輯mu.cnf文件:vim /etc/mysql/my.cnf
[mysqld](在該行下添加如下三行,datadir必須添加,另兩行,可加可不加)
datadir = /app/mysqldb
innodb_file_per_table = ON
skip_name_resolve = ON
·到此,還缺啓動服務腳本,需要在編譯安裝的文件夾下拷貝到/etc/init.d下:
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
service mysqld start(啓動可能會出現報錯,編譯安裝的服務對於/var/log一些目錄或文件可能少權限,或者缺少某些文件。需要做一些配置mkdir /var/log/mariadb ;chown mysql /var/log/mariadb/)
最後結果是綠色的OK
·最後在把PATH加上:
vi /etc/profile.d/lamp.sh
PATH=/app/httpd24/bin/:/usr/local/mysql/bin/:$PATH
source /etc/profile.d/lamp.sh
數據庫的配置:
·首先執行安全設置的腳本按照腳本來選擇:
mysql_secure_installation(執行結果和解釋如下)
Enter current password for root (enter for none):<–初次運行直接回車
Set root password? [Y/n] <– 是否設置root用戶密碼,輸入y並回車或直接回車
New password: <– 設置root用戶的密碼
Re-enter new password: <– 再輸入一次你設置的密碼
Remove anonymous users? [Y/n] <– 是否刪除匿名用戶,回車
Disallow root login remotely? [Y/n] <–是否禁止root遠程登錄,回車
Remove test database and access to it? [Y/n] <– 是否刪除test數據庫,回車
Reload privilege tables now? [Y/n] <– 是否重新加載權限表,回車
數據庫信息創建;
mysql -uroot -pcentos
create database wpdb;
grant all on wpdb.* to wpuser@'192.168.25.%' identified by 'centos';
grant all on wpdb.* to wpuser@'127.%' identified by 'centos';
grant all on wpdb.* to wpuser@'localhost' identified by 'centos';
3. 源碼編譯安裝PHP
·安裝相關的包
yum install libxml2-devel bzip2-devel libmcrypt-devel
·解壓和編譯安裝
tar xvf php-7.1.10.tar.xz
·下面是一整條命令\表示換行
./configure \
--prefix=/app/php \
--enable-mysqlnd \
--with-mysqli=mysqlnd \
--with-openssl \
--with-pdo-mysql=mysqlnd \
--enable-mbstring \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr \
--enable-xml \
--enable-sockets \
--with-apxs2=/app/httpd24/bin/apxs \
--with-mcrypt \
--with-config-file-path=/etc \
--with-config-file-scan-dir=/etc/php.d \
--enable-maintainer-zts \
--disable-fileinfo
make –j 2 && make install
cp php.ini-production /etc/php.ini
vim /etc/httpd24/httpd.conf
在文件尾部加兩行
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
修改下面行
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
4. 測試php和mariadb連接
編輯文件添加測試內容(因爲mariadb是在另外一臺主機上編譯安裝的需要測試連通性和庫賬號問題)
vim /app/httpd24/htdocs/index.php
<html><body><h1>wordpress</h1></body></html>
<?php
$mysqli=new mysqli("192.168.200.77","wpuser","centos");
if(mysqli_connect_errno()){
echo " 連接數據庫失敗!";
$mysqli=null;
exit;
}
echo " 連接數據庫成功!";
$mysqli->close();
?>
5. 配置wordpress
tar xvf wordpress-4.8.1-zh_CN.tar.gz -C /app/httpd24/htdocs
cd /app/httpd24/htdocs
mv wordpress/ blog/
cd /app/httpd24/htdocs/blog/
cp wp-config-sample.php wp-config.php
編輯真正的網頁文件:vim /app/httpd24/htdocs/blog/wp-config.php
6. 最重要的一步:登陸查看是否顯示正常的網頁