系统平台:
CentOS release 6.9 (Final)
内核 2.6.32-696.el6.x86_64
去官网下载源码包
1,下载httpd2.4源码包 http://httpd.apache.org/download.cgi#apache24
以及apr源码包: apr-1.6.3.tar.gz , apr-util-1.6.1.tar.gz
http://apr.apache.org/download.cgi
2,下载mariadb-10.2源码包
3下载php7.2源码包
所有源码包
apr-1.6.3.tar.bz2 httpd-2.4.29.tar.bz2 php-7.2.1.tar.bz2
apr-util-1.6.1.tar.bz2 mariadb-10.2.12.tar.gz wordpress-4.9.1-zh_CN.tar.gz
配置yum源
1.进入/etc/yum.repos.d/
cd /etc/yum.repos.d/
2.将里面的文件所有文件都清除或是移到一个空目录里,个人建议直接删了。
rm -rf *
3.创建一个yum源配置文件,"注意:后缀必须是repo"
touch base.repo
4.在文件里面添加这么几行配置
vim base.repo
#光盘源
[base]
name=centos-6.9
baseurl=http://mirrors.aliyun.com/centos/6/os/x86_64/
gpgcheck=0
enable=1
#epel源
[epel]
name=centos-epel
baseurl=http://mirrors.aliyun.com/epel/6/x86_64/
gpgcheck=0
enable=1
4.查看是否已经生成yum源了
[[email protected] yum.repos.d]# yum repolist
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
base | 3.7 kB 00:00
epel | 4.7 kB 00:00
epel/primary_db | 6.0 MB 00:15
repo id repo name status
base centos-6.9 6,706
epel centos-epel 12,449
repolist: 19,155
(一)编译mariadb数据库
1,安装相关依赖包
yum groupinstall "development tools" #开发包组
yum install cmake ncurses-devel libaio-devel openssl-devel -y "注意:clang来自epel源"
2,解压mariadb之人一临时目录
tar vxf mariadb-10.2.12.tar.gz -C /app/sdb
3,进入/app/sdb/mariadb-10.2.12
cd /app/sdb/mariadb-10.2.12
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb-10.2.12 -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_EMBEDDED_SERVER=1 -DENABLED_LOCAL_INFILE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_DEBUG=0
make -j 4 && make install
4,创建软连接mysql解压后的mariadb目录
ln -s mariadb-10.2.12/ mysql
5,创建用户mysql系统账号
useradd -r -s /sbin/nologin mysql
6,修改mysql文件夹的所属者喝所在属组
chown -R mysql.mysql /usr/local/mysql/
7,添加PATH变量
echo ‘PATH=/usr/local/mysql/bin:$PATH‘ >> /etc/profile.d/mysql.sh
检查文件
#cat /etc/profile.d/mysql.sh
加载环境变量文件 并检查
#source /etc/profile.d/mysql.sh
#echo $PATH
#mysql -V
mysql Ver 15.1 Distrib 10.2.12-MariaDB, for Linux (x86_64) using readline 5.1
8,创建数据库存放文件夹并且修改权限
mkdir -pv /data/sqldb/3306/{log,data,pid,socket,tmp}
chown -R mysql.mysql /data/sqldb/
chmod -R 770 /data/sqldb/
9,复制主配置文件my.cnf
"这里先要确认下本机的内存多少,以便使用一个参考模板."
grep memory support-files/*
找到适合本机内存的模板
本机内存为1G,所以选择了my-huge.cnf这个配置文件
#\cp /usr/local/mysql/support-files/my-huge.cnf /etc/my.cnf
10,修改配置文件
[mysqld]
port = 3306
socket = /tmp/mysql.sock
pid-file =/data/sqldb/3306/pid/mysql.pid
datadir =/data/sqldb/3306/data
tmpdir =/data/sqldb/3306/tmp
11,安装数据库相关文件
mysql_install_db --defaults-file=/etc/my.cnf --user=mysql
"这时候会在/data/sqldb/3306/data目录下生成一些文件"
[[email protected] support-files]# ls /data/sqldb/3306/data/
mysql mysql-bin.000001 mysql-bin.000002 mysql-bin.index test
12,复制服务脚本至/etc/init.d/目录下并改名为mysqld
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
13,添加mysqld服务脚本至开机自动启动,并启动mysqld服务
chkconfig --add mysqld
chkconfig --list mysqld
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
service mysqld start
14,运行安全脚本
"mysql_secure_installation"
第一项问你:输入root密码 回车即可,因为没有
第二项问你:需要设置root密码么,当然要 敲Y
第三项问你:需要删除空账号用户么,当然要 敲Y
第四项问你:禁止root用户远程登入么,根据你们公司的需要
第五项问你:需要删除test测试数据哭么,我不需要
第六项问你:现在重新加载权限表吗 ,当然
15,创建一个wordpress专有数据库,以及专门管理这个数据库的用户
首先登入mysql数据库
mysql -uroot -p #-p需要输入root密码
创建数据库
create database wordpress;
创建管理员用户
grant all on wordpress.* to [email protected]‘localhost‘ identified by ‘liliang‘;
"注意:这里的all 表示拥有对这个数据库里的所有表wordpress.*的所有权限,用户名是li 只能在本机(localhost)登入,密码:liliang"
OK数据库已经配置完成,下面编译安装httpd程序
(二) 编译httpd2.4
"注意:httpd2.4 依赖apr 1.4+以上 ,apr-util-1.4+以上"
1,解压缩包至任意目录
tar apr-1.6.3.tar.bz2
tar apr-util-1.6.1.tar.bz2
tar httpd-2.4.29.tar.bz2
2,复制apr以及apr-util整个解压包目录,复制到httpd-2.4.29/srclib/目录下,并且改成相对应的名字
cp -r apr-1.6.3 httpd-2.4.29/srclib/apr
cp -r apr-util-1.6.1 httpd-2.4.29/srclib/apr-util
3,安装相关的依赖包
yum install pcre-devel openssl-devel expat-devel -y
4,开始编译
./configure --prefix=/app/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite -with-zlib --with-pcre --with-included-apr \ #"注意这一项是指定apr程序的"
-enable-modules=most --enable-mpms-shared=all -with-mpm=prefork
make -j 4 &&make install
4.添加PATH变量
echo ‘PATH=/app/httpd24/bin:$PATH‘ >/etc/profile.d/httpd24.sh
检查文件
#cat /etc/profile.d/httpd24.sh
加载环境变量文件 并检查
source /etc/profile.d/httpd24.sh
echo $PATH
5,创建apache用户
useradd -r -s /sbin/nologin apache
6,修改httpd配置文件
修改那些指令
User apache
Group apache
取消下面两行的注释 作用:支持php-fpm模式
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
将这个语句块修改为如下:
"作用就是让用户访问是不用输路径"
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
加下面四行
#这两行的作用就是让httpd能识别php程序文件
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
#关闭请求转发功能
ProxyRequests Off
#当用户访问 php后缀的程序文件,自动把请求发送给本记得fcgi程序处理之后在发送给用户
ProxyPassMatch^/(.*\.php)$ fcgi://127.0.0.1:9000/app/httpd24/htdocs/$1
7,将服务设置为开机自动启动
方法一: 写入 /etc/rc.d/rc.local
vim /etc/rc.d/rc.local
/app/httpd24/bin/apachectl start
方法二:修改原有的 服务脚本 /etc/init.d/httpd/ 并改名httpd24
cd /etc/init.d
mv httpd httpd24
将文件中的这几项修改为如下:
vim httpd24
apachectl=/app/http24/bin/apachectl
httpd=${HTTPD-/app/httpd24/bin/httpd}
pidfile=${PIDFILE-/app/httpd24/logs/httpd.pid}
将httpd24加入服务,并设为开机自动启动
chkconfig --add httpd24
查看
chkconfig --list httpd24
httpd24 0:off 1:off 2:off 3:off 4:off 5:off 6:off
设为开机自动启动
chkconfig httpd24 on
OK httpd程序编译配置完成,下面编译php7.2程序
(三)编译php7.2
解压缩包至任意目录
tar vxf php-7.2.1.tar.bz2
安装相关软件包
yum install libxml2-devel bzip2-devel libmcrypt-devel -y
开始编译
cd php-7.2.1
./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 --enable-fpm --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --enable-maintainer-zts --disable-fileinfo
还在这个目录下把php配置文件复制到/etc/php.ini
[[email protected] php-7.2.1]# cp php. #按两下Tab键会提示出如下信息
php.gif php.ini-development #这个是开发用的 php.ini-production #这个是生产用的,复制这个
cp php.ini-production /etc/php.ini
修改两个文件名
mv php-fpm.conf.default php-fpm.conf
cp php-fpm.d/www.conf.default php-fpm.d/www.conf
复制sapi/fpm/init.d.php-fpm启动脚本至/etc/init.d/目录下并改名为fpm-php,并且加上执行权限,并且加入chkconfig管理,设置为开机自动启动,最后启动服务
1,复制
cp sapi/fpm/init.d.php-fpm /etc/init.d/fpm-php
2,添加执行权限
chmod +x /etc/init.d/fpm-php
3,加入服务chkconfig管理
chkconfig --add fpm-php
4,设为开机自动启动
chkconfig fpm-php on
5,查看是否添加成功
chkconfig --list fpm-php
fpm-php 0:off 1:off 2:on 3:on 4:on 5:on 6:off
6,启动服务
service fpm-php start
(四)配置wordpress
解压缩包wordpress-4.9.1-zh_CN.tar.gz至任意目录
tar vxf wordpress-4.9.1-zh_CN.tar.gz
将wordpress整个目录里的所有文件复制到/app/httpd24/htdocs/目录下,并且将/app/httpd24/htdocs/目录下的index.html文件删除掉
cd wordpress
cp * -r /app/httpd24/htdocs/
rm /app/httpd24/htdocs/index.html
修改配置文件,将wp-config-sample.php 复制一份改名为wp-config.php,而后在修改wp-config.php文件
cp wp-config-sample.php wp-config.php
vim wp-config.php #"这些就是在编译安装是创建的数据库信息将他们修改为这样即可"
// ** MySQL 设置 - 具体信息来自您正在使用的主机 ** //
/** WordPress数据库的名称 */
define(‘DB_NAME‘, ‘wordpress‘);
/** MySQL数据库用户名 */
define(‘DB_USER‘, ‘li‘);
/** MySQL数据库密码 */
define(‘DB_PASSWORD‘, ‘liliang‘);
/** MySQL主机 */
define(‘DB_HOST‘, ‘localhost‘);
使用浏览器访问主站点进行配置wordpress
原文地址:http://blog.51cto.com/13598893/2070245
时间: 2024-11-05 13:35:13