您的位置:首页 > 运维架构 > Apache

CentOS安装mysql+apache+php+wordpress到指定目录

2018-03-07 23:03 501 查看
最近在学linux中的CentOS,于是在我的云服务器(centos7.4)中一股气装了apache,php,mysql,phpMyAdmin(php连接数据库用的),wordpress(一个个人网站模板) ,在这里和大家分享下CentOS的相关知识。
如果直接用yum获取安装,往往安装到的目录不是自己指定的,这里我把这些软件安装到了我指定的目录,便于管理。这篇博客写的比较久,讲的比较清楚了,希望能帮到有需要的童鞋!

首先准备好安装包资源:(我会在文章末尾贴上下载地址)



注意,上图中的mysql我下的是二进制编译过版,不需要再编译了,其他包为源码包,要编译安装。
通过Putty连接云服务器,通过Winscp这个软件实现本地和云服务器之间上传文件。把上图所有的资源包上传到  /usr/local/src/ 目录下,这个目录通常用来放软件包的。

一、安装mysql

# cd /usr/local/src/
# tar zxf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
# [-d /usr/local/mysql ] && mv /usr/local/mysql /usr/local/mysql_old
# mv mysql-5.6.35-linux-glibc2.5-x86_64  /usr/local/mysql
# useradd -s /sbin/nologin mysql
# cd /usr/local/mysql
# mkdir -p /data/mysql
# chown -R mysql:mysql /data/mysql
安装perl-Module-Install包# yum install -y perl-Module-Install
执行脚本安装# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql配置MySQL# cp support-files/my-default.cnf /etc/my.cnf
y
//打开/etc/my.cnf编辑
# vim /etc/my.cnf
//将下面这些行前的#删去,去掉注释
innodb_buffer_pool_size = 128M
log_bin = longzhu
basedir = /usr/local/mysql
datadir = /data/mysql
port = 3306
server_id = 128
socket = /tmp/mysql.sock
join_buffer_size = 128M
sort_buffer_size =2M
read_rnd_buffer_size =2M
编辑完按esc,输入:wq保存退出
复制启动脚本并修改其属性:# cp support-files/mysql.server /etc/init.d/mysqld
# chmod 755 /etc/init.d/mysqld然后修改启动脚本:# vim /etc/init.d/mysqld
//只改 datadir=/data/mysql就可以了,接着设置mysql开机启动
# chkconfig --add mysqld
# chkconfig mysqld on
# service mysqld start
//检查Mysql启动了没有,看3306端口被监听了没有
# netstat -lnp | grep 3306
把mysql指令加到环境变量中:# export PATH=$PATH:/usr/local/mysql/bin
# echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
# source /etc/profile这样就可以用 mysql -uroot 无密码登陆mysql了,接着给root设置密码:# mysqladmin -uroot password '你的密码'

二、安装Apache

首先解压 apr ,apr-util, httpd这三个压缩包# cd /usr/local/src/
# tar zxvf httpd-2.4.29.tar.gz
# tar zxvf apr-1.6.3.tar.gz
# tar zxvf apr-util-1.6.1.tar.gz
# tar zxf php-5.6.30.tar.gz


首先安装 apr和apr-util 这两个函数库,在安装apache(hpptd)时要引用它们,然后再安装httpd(apache的http服务器的主程序)。# yum install -y expat-devel //没有它安装apr-util会失败
# cd /usr/local/src/apr-1.6.3
# ./configure --prefix=/usr/local/apr //prefix指向安装目录
# make && make install
# cd /usr/local/src/apr-util-1.6.1
# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
# make && make install

//继续安装httpd
# cd /usr/local/src/httpd-2.4.29/
# ./configure \
--prefix=/usr/local/apache2.4 \
--with-apr=/usr/local/apr \
--with-apr-util=/usr/local/apr-util \
--enable-so \
--enable-mods-shared=most
# yum install -y pcre pcre-devel //支持库
# make
# make install

安装完httpd可以查看一下httpd的目录结果和modules目录下的模块文件,还可以看看加载了哪些模块文件:# ls /usr/local/apache2.4
# ls /usr/local/apache2.4/modules
# /usr/local/apache2.4/bin/apachectl -M

三、安装PHP

首先安装必要的库:# yum install -y libxml2-devel
# yum install -y openssl openssl-devel
# yum install -y bzip2-devel
# yum install -y libpng libpng-devel
# yum install -y libjpeg libjpeg-devel
# yum install -y freetype freetype-devel
# yum install -y epel-release
# yum install -y libmcrypt-devel
然后配置编译编译参数,如下:# cd php-5.6.30
# ./configure \
--prefix=/usr/local/php \
--with-apxs2=/usr/local/apache2.4/bin/apxs \
--with-config-file-path=/usr/local/php/etc \
--with-mysql=/usr/local/mysql \
--with-libxml-dir \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-iconv-dir \
--with-zlib-dir \
--with-bz2 \
--with-openssl \
--with-mcrypt \
--enable-soap \
--enable-gd-native-ttf \
--enable-mbstring \
--enable-sockets \
--enable-exif接下来编译和安装:# make
# make install
//最后复制配置文件到安装目录
# cp php.ini-production /usr/local/php/etc/php.ini

四、配置httpd支持PHP和网站根目录

# vim /usr/local/apache2.4/conf/httpd.conf
在这个文件中搜索把<Directory />
AllowOverride none
Require all denied
</Directory>改成//使服务器允许所有请求
<Directory />
AllowOverride none
Require all granted
</Directory>
在AddType application/x-gzip .gz .tgz下面加上一行:
AddType application/x-httpd-php .php
继续搜索把<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
改成<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>最后按esc,输入:wq保存退出
下面测试一下整个Lamp环境是否可以成功运行:# /usr/local/apache2.4/bin/apachectl -t如果显示“Syntax OK”则配置成功
启动apache(httpd):# /usr/local/apache2.4/bin/apachectl start
//查看httpd端口是否开了
# netstat -lnp | grep httpd

最后重点来了,配置网站根目录,并为每个网站指配一个域名(即配置哪个域名访问哪个网站,未知域名访问哪个网站)
编辑配置文件httpd.conf# vim /usr/local/apache2.4/conf/httpd.conf
//在这个文件中输入/httpd-vhosts搜索,把搜索到的那行前面的#去掉
//把#ServerName www.example.com:80这行前面的#去掉
编辑网站(可能有多个,因为apache服务器可以同时运行多个网站,通过不同域名来访问不同网站)根目录:# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

//在这个文件中配置如下,第一个节点为未指定域名或用主机ip地址访问时访问到的网站根目录位置和一些日志信息
<VirtualHost *:80>
ServerAdmin xxx@qq.com
DocumentRoot "/data/wwwroot/MyWebSite"
ServerName xxx.com
ServerAlias www.xxx.com
ErrorLog "logs/xxx.com-erroer_log"
CustomLog "logs/xxx.com-access_log" common
</VirtualHost>

#second website
<VirtualHost *:80>
DocumentRoot "/data/wwwroot/MyOtherWebSite"
ServerName www.123.com
</VirtualHost>重启hpptd服务:# /usr/local/apache2.4/bin/apachectl graceful
如果外网不能访问则把80端口在防火墙中开放,至此,怎个mysql+apache+php安装结束

五、安装wordpress

接下来安装wordpress,过程很简单,把网站拷到根目录再在浏览器中访问设置数据库就可以了
为了wordpress有权限读写mysql,在wordpress中增删文件夹,我们先开放权限//这里的/data/wwwroot/MyWebSite就是上文中设置的网站根目录
# chmod -R 777 /data/wwwroot/MyWebSite
# chmod -R 777 /data/mysql
接着把phpMyAdmin整个文件夹(php连接数据库的网站)拷贝到/data/wwwroot/MyWebSite下
把wordpress文件夹下的所有文件(注意不包括wordpress整个文件夹,即wordpress网站)也拷贝
到/data/wwwroot/MyWebSite下



然后通过浏览器访问 网站ip/phpMyAdmin即可设置wordpress数据库(选utf8-general-8字符数据库)



然后通过浏览器访问 网站ip即可完成wordpress安装!



感谢阅读 !欢迎学习交流。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux CentOS wordpress lamp