1 懒人少语第十三周之通过CentOS7.4实现编译安装LAMP
2 🌙实例:
3 /root/src作为源码文件目录;
4 准备以下文件:
5 apr-1.6.2.tar.gz
6 apr-util-1.6.0.tar.gz
7 httpd-2.4.27.tar.bz2
8 mariadb-10.2.8-linux-x86_64.tar.gz
9 php-7.1.10.tar.xz
10 wordpress-4.8.1-zh_CN.tar.gz
11
12 1、源码编译httpd
13 [root@Centos7 02:30:28 src]#yum group install "development tools"
14 [root@Centos7 02:38:59 src]#yum install openssl-devel expat-devel pcre-devel
15 准备好前提条件
16 [root@Centos7 02:35:07 src]#tar xvf apr-1.6.2.tar.gz
17 [root@Centos7 02:36:07 src]#tar xvf apr-util-1.6.0.tar.gz
18 [root@Centos7 02:36:07 src]#tar xvf httpd-2.4.27.tar.bz2
19 [root@Centos7 02:36:43 src]#cp -r apr-1.6.2 httpd-2.4.27/srclib/apr
20 [root@Centos7 02:37:10 src]#cp -r apr-util-1.6.0 httpd-2.4.27/srclib/apr-util
21 [root@Centos7 02:39:27 src]#cd httpd-2.4.27/
22 [root@Centos7 02:45:03 httpd-2.4.27]#
23 ./configure --prefix=/app/httpd24 \ `在该目录安装相关文件`
24 --sysconfdir=/etc/httpd24 \ `只读单机数据(/etc路径位置)`
25 --enable-so \ `启用动态共享对象`
26 --enable-ssl \ `启用SSL/TLS功能`
27 --enable-rewrite \ `基于规则的URL操作`
28 --with-zlib \
29 --with-pcre \ `使用外部PCRE库`
30 --with-included-apr \ `使用zpr/zpr-util功能`
31 --enable-modules=most \ `允许使用空格分隔的模块列表`
32 --enable-mpms-shared=all \ `MPM模块的空间分隔列表,以支持动态加载`
33 --with-mpm=prefork `指定Apache默认使用的工作模型`
34 [root@Centos7 03:06:21 httpd-2.4.27]#make -j 2 && make install
35 [root@Centos7 03:20:44 httpd24]#ls (/app/httpd24/)
36 bin(启动路径等) build cgi-bin error htdocs(主页) icons include lib logs man manual modules
37 [root@Centos7 03:20:45 httpd24]#vim /etc/profile.d/lamp.sh
38 PATH=/app/httpd24/bin/:$PATH `环境变量;添加并激活`
39
40 [root@Centos7 03:35:32 httpd24]#apachectl `可用于启动服务并测试`[端口80;ss -tnl;apachectl stop停止服务]
41 curl 172.18.252.13 `Done`
42
43 2、源码编译mariadb
44 [root@Centos7 03:39:01 httpd24]#cd /root/src/
45 [root@Centos7 03:40:46 src]#tar xvf mariadb-10.2.8-linux-x86_64.tar.gz -C /usr/local/
46 安装前需确保本机原先无mysql/mariadb-server等其它版本() [rpm -qa|grep mariadb]
47 [root@Centos7 03:44:37 src]#cd /usr/local
48 [root@Centos7 03:45:39 local]#ln -s mariadb-10.2.8-linux-x86_64/ mysql `必须`
49 没有mysql用户的情况下建立用户()
50 [root@Centos7 03:47:43 local]#useradd -r -m -d /app/mysqldb -s /sbin/nologin mysql
51 [root@Centos7 03:50:56 mysql]#cd mysql/
52 利用脚本来安装创建用户叫mysql的数据库()
53 [root@Centos7 03:50:56 mysql]#scripts/mysql_install_db --datadir=/app/mysqldb --user=mysql
54 创建好mysql存放数据的目录()
55 [root@Centos7 03:50:56 mysql]#mkdir /etc/mysql
56 /usr/local/mysql/support-files/ `该目录记录者各种类型的模版配置`
57 拷贝模版文件当作配置文件()
58 [root@Centos7 03:56:28 mysql]#cp support-files/my-large.cnf /etc/mysql/my.cnf
59 [root@Centos7 03:57:37 mysql]#vim /etc/mysql/my.cnf
60 [mysqld]
61 datadir = /app/mysqldb
62 innodb_file_per_table = ON `后两项不是必须`
63 skip_name_resolve = ON
64 将启动脚本拷贝至用于启动服务()
65 [root@Centos7 04:02:09 mysql]#cp support-files/mysql.server /etc/init.d/mysqld
66 [root@Centos7 04:05:03 mysql]#chkconfig --add mysqld [chkconfig --list查结果判断是否已经添加]
67 建立启动服务时所需的日志文件()
68 [root@Centos7 04:06:36 mysql]#mkdir /var/log/mariadb/
69 [root@Centos7 04:07:23 mysql]#chown mysql /var/log/mariadb/ `或手动添加mariadb.log文件`
70 [root@Centos7 05:47:14 mysql]#service mysqld start
71 [root@Centos7 05:50:33 mysql]#vim /etc/profile.d/lamp.sh `给mysql补充环境变量;并激活`
72 PATH=/app/httpd24/bin/:/usr/local/mysql/bin/:$PATH
73 [root@Centos7 05:53:16 mysql]#mysql_secure_installation
74 PW:centos Y;Y;Y;Y
75 [root@Centos7 05:54:35 mysql]#mysql -uroot -pcentos
76 > create database wpdb;
77 > grant all on wpdb.* to wpuser@'172.18.%.%' identified by 'centos'; `或者下一条`
78 > grant all on wpdb.* to wpuser@'localhost' identified by 'centos'; `本机登录不需-h繁琐`
79
80 3、源码编译安装php
81 [root@Centos7 07:43:34 src]#tar xvf php-7.1.10.tar.xz
82 [root@Centos7 07:58:55 src]#yum install libxml2-devel bzip2-devel libmcrypt-devel
83 编译php5.6的选择:()
84 [root@Centos7 07:52:23 php-5.6]#./configure --prefix=/app/php \
85 --with-mysql=/usr/local/mysql \
86 --with-openssl \
87 --with-mysqli=/usr/local/mysql/bin/mysql_config \
88 --enable-mbstring \
89 --with-png-dir \
90 --with-jpeg-dir \
91 --with-freetype-dir \
92 --with-zlib \
93 --with-libxml-dir=/usr \
94 --enable-xml \
95 --enable-sockets \
96 --with-apxs2=/app/httpd24/bin/apxs \
97 --with-mcrypt \
98 --with-config-file-path=etc \
99 --with-config-file-scan-dir=/etc/php.d \
100 --with-bz2
101 [root@Centos7 08:01:45 php-7.1.10]#make -j 2 && make install
102 编译php7.1.10的选择:()`区别在7版本将--with-mysql取消,需使用--enable-mysqlnd和--with-mysqli=mysqlnd`
103 [root@Centos7 08:12:06 php-7.1.10]#./configure --prefix=/app/php \
104 --enable-mysqlnd \
105 --with-mysqli=mysqlnd \
106 --with-openssl \
107 --with-pdo-mysql=mysqlnd \
108 --enable-mbstring \
109 --with-freetype-dir \
110 --with-jpeg-dir \
111 --with-png-dir \
112 --with-zlib \
113 --with-libxml-dir=/usr \
114 --enable-xml \
115 --enable-sockets \
116 --with-apxs2=/app/httpd24/bin/apxs \
117 --with-mcrypt \
118 --with-config-file-path=/etc \
119 --with-config-file-scan-dir=/etc/php.d \
120 --enable-maintainer-zts \c
121 --disable-fileinfo
122 [root@Centos7 08:01:45 php-7.1.10]#make -j 2 && make install
123 [root@Centos7 08:17:15 php-7.1.10]#cp php.ini-production /etc/php.ini `给php提供模版现成的当作模版使用`
124 [root@Centos7 08:20:41 ~]#vim /etc/httpd24/httpd.conf
125 AddType application/x-httpd-php .php `添加两行使apache支持识别php文件功能`
126 AddType application/x-httpd-php-source .phps
127 再定位到👇
128 DirectoryIndex index.php index.html `调整首页顺序问题`
129 [root@Centos7 08:29:36 ~]#apachectl restart
130 4、网页测试
131 [root@Centos7 08:30:01 ~]#cd /app/httpd24/htdocs/
132 [root@Centos7 08:30:32 htdocs]#vim index.php
133 <?php
134 echo date("Y/m/d h:i:s");
135 $mysqli=new mysqli("localhost","root","centos"); //面向对象的连接方式
136 if(mysqli_connect_errno()){
137 echo "连接数据库失败!";
138 $mysqli=null;
139 exit;
140 }
141 echo "连接数据库成功!";
142 $mysqli->close();
143 phpinfo();
144 ?>
145 (^U^)ノ~YO访问网页地址
补充:👇
1 5、配置wordpress:
2 [root@Centos7 08:55:45 src]#cd /root/src
3 [root@Centos7 08:56:08 src]#tar xvf wordpress-4.8.1-zh_CN.tar.gz -C /app/httpd24/htdocs
4 [root@Centos7 08:58:18 wordpress]#cp wp-config-sample.php wp-config.php `选择需要的配置模版`
5 [root@Centos7 08:58:36 wordpress]#vim wp-config.php `配置相应的数据库账户`
6 /** WordPress数据库的名称 */
7 define('DB_NAME', 'wpdb');
8
9 /** MySQL数据库用户名 */
10 define('DB_USER', 'wpuser');
11
12 /** MySQL数据库密码 */
13 define('DB_PASSWORD', 'centos');
14
15 /** MySQL主机 */
16 define('DB_HOST', 'localhost');
搭建完成,最后访问网页进行配置即可http://172.18.252.13/wordpress