原理

  http使用方法一编译安装,php模块打入方式实现。

软件版本

  在本次实验中,我们需要用到的软件版本如下:

  apr-1.6.2

  apr-util-1.6.0

  httpd-2.4.28

  mariadb-10.2.8

  php-7.1.10

  phpMyAdmin-4.0.10.20-all-languages  ----一个方便配置数据库的图形化页面

  wordpress-4.8.1  ----博客搭建软件

  我们先用rz命令把所有的安装包上传至/root/src目录下,以方便我们的实验。

  所有的安装包全部在官网下载,下面附上网址:

  httpd官网:http://httpd.apache.org/

  apr官网:http://apr.apache.org/

  mariadb官网:http://mariadb.org/

  php官网:http://php.net/

  phpMyAdmin官网:https://www.phpmyadmin.net/

  wordpress官网:https://cn.wordpress.org/

实验前准备

  提前安装好软件包组及其相关的包:

yum groupinstall "development tools" -y
yum install pcre-devel openssl-devel expat-devel -y
yum install bzip2-devel libxml2-devel libmcrypt-devel -y

  其中:

  openssl-devel expat-devel pcre-devel http所依赖的包

  bzip2-devel libxml2-devel libmcrypt-devel php所依赖的包

  注意:需epel扩展源

一、编译安装http2.4

1、编译安装apr-1.6.2

1)解压缩

tar xvf apr-1.6.2.tar.gz

2)进入该目录并编译安装

[root@localhost src]# cd apr-1.6.2/
[root@localhost apr-1.6.2]# ./configure --prefix=/app/apr
[root@localhost apr-1.6.2]# make && make install

3)编译安装完成之后查看/app下是否生成了新的目录:

[root@localhost apr-1.6.2]# ls /app/
apr

  可以看出已经生成了apr/目录,该步骤完成。

2、编译安装apr-util-1.6.0

1)解压缩

tar xvf apr-util-1.6.0.tar.gz

2)进入该目录并编译安装

[root@localhost apr-1.6.2]# cd ../apr-util-1.6.0/
[root@localhost apr-util-1.6.0]# ./configure --prefix=/app/apr-util --with-apr=/app/apr/
[root@localhost apr-util-1.6.0]# make && make install

3)编译安装完成之后查看/app下是否生成了新的目录:

[root@localhost apr-util-1.6.0]# ls /app/
apr apr-util

  可以看出已经生成了apr-util/目录,该步骤完成。

3、编译安装http-2.4.28

1)解压缩

tar xvf httpd-2.4.28.tar.bz2

2)进入该目录并编译安装

[root@localhost apr-util-1.6.0]# cd ../httpd-2.4.28/
[root@localhost httpd-2.4.28]#./configure --prefix=/app/httpd24 \
--enable-so \
--enable-ssl \
--enable-cgi \
--enable-rewrite \
--with-zlib \
--with-pcre \
--with-apr=/app/apr/ \
--with-apr-util=/app/apr-util/ \
--enable-modules=most \
--enable-mpms-shared=all \
--with-mpm=prefork
[root@localhost httpd-2.4.28]# make && make install

3)编译安装后的配置

  我们先来修改一下我们的环境变量,以方便我们后面的服务开启:

[root@centos7 httpd-2.4.28]# vim /etc/profile.d/lamp.sh
PATH=/app/httpd24/bin:/usr/local/mysql/bin/:/app/php/bin/:$PATH
[root@centos7 httpd-2.4.28]# . /etc/profile.d/lamp.sh
[root@centos7 httpd-2.4.28]# apachectl
[root@centos7 httpd-2.4.28]# ss -ntl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:111 *:*
LISTEN 0 128 *:22 *:*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 128 :::111 :::*
LISTEN 0 128 :::80 :::*
LISTEN 0 128 :::22 :::*
LISTEN 0 100 ::1:25 :::*

二、安装mariadb

1、解包解压缩

tar xvfmariadb-10.2.9-linux-x86_64.tar.gz -C /usr/local/

  因为我们是二进制安装,所以必须要指定解压缩的目录为/usr/local/

2、创建mysql用户

  因为mysql用户是系统用户,所以我们创建的时候要加上-r

[root@centos7 src]# useradd -d /app/mysqldb -r -m -s /sbin/nologin mysql

  创建用户以后,我们把/app/mysqldb/的所属人换成mysql

[root@centos7 src]# chown mysql /app/mysqldb/

3、查看文件

  我们使用cd /usr/local/进入解开压缩包的目录,发现mariadb的目录名字不符合要求,所以我们可以直接修改名字,也可以创建一个软连接,创建软连接命令如下:

[root@centos7 mysql]# ln -s mariadb-10.2.8-linux-x86_64/ mysql

4、创建修改配置文件

  进入mysql文件夹,查看support-files文件夹中的内容,发现里面有我们的配置文件,但是配置文件不应该在这个目录下,应该放在/etc/mysql/下,所以,我们要创建这个目录,并把配置文件复制进去,具体的操作如下:

[root@centos7 src]# cd /usr/local/mysql/
[root@centos7 mysql]# ls
bin include README-wsrep
COPYING INSTALL-BINARY scripts
COPYING.thirdparty lib share
CREDITS man sql-bench
data mysql-test support-files
EXCEPTIONS-CLIENT README.md
[root@centos7 mysql]# ls support-files/
binary-configure my-medium.cnf policy
magic my-small.cnf wsrep.cnf
my-huge.cnf mysqld_multi.server wsrep_notify
my-innodb-heavy-4G.cnf mysql-log-rotate
my-large.cnf mysql.server
[root@centos7 mysql]# mkdir /etc/mysql
[root@centos7 mysql]# cp support-files/my-huge.cnf /etc/mysql/my.cnf

  接下来,我们来修改配置文件:

[root@centos7 mysql]# vim /etc/mysql/my.cnf
[mysqld]
datadir = /app/mysqldb //指定总目录,必须的
innodb_file_per_table = on //让每一个表数据库都是一个文件,方便管理
skip_name_resolve = on //忽略名字的反向解析,加快速度

5、执行脚本,创建系统数据库

  首先,我们要确保我们在/usr/local/mysql这个目录下,只能在这个目录下执行脚本:

[root@centos7 mysql]# cd /usr/local/mysql
[root@centos7 mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/app/mysqldb

  执行脚本完成后就会在/app/mysqldb/ 生成mysql系统数据库

6、创建日志文件

[root@centos7 mysql]# touch /var/log/mariadb.log
[root@centos7 mysql]# chown mysql /var/log/mariadb.log

7、把服务脚本复制过去

[root@centos7 mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@centos7 mysql]# chkconfig --add mysqld //设置服务在哪个运行级别,在哪个运行级别开启服务
[root@centos7 mysql]# chkconfig --list mysqld

  复制完了以后,我们就可以开启服务了:

[root@centos7 mysql]# service mysqld start

  因为我们提前创建了日志文件,所以我们的服务可以正常开启。

8、运行安全初始化脚本

  我们在上个大步骤中,已经把所有的PATH变量都设置好了,所以现在我们可以直接运行我们的安全初始化脚本:

[root@centos7 mysql]# mysql_secure_installation





  这样的话,我们的数据库就安装完成。

三、安装php

1、解压缩

tar xvf php-7.1.10.tar.xz

2、进入目录进行编译安装

  我们使用cd命令进入该目录,然后对php进行编译安装:

[root@centos7 src]# cd php-7.1.10/
[root@centos7 php-7.1.10]# ./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
[root@centos7 php-7.1.10]# make -j 4 && make install

3、复制并编辑配置文件

  首先,我们要复制配置文件到/etc目录下:

[root@centos7 php-7.1.10]# cp php.ini-production /etc/php.ini
[root@centos7 php-7.1.10]# vim /app/httpd24/http.conf

  我们要在文件的尾部加上两行:

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

  同时,在这个文件里还要修改一行内容:

<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>

  全部改好了以后,我们就可以停止服务,并进行重启:

[root@centos7 php-7.1.10]# apachectl stop
[root@centos7 php-7.1.10]# apachectl

4、测试

  我们编辑一个测试文件

[root@centos7 php-7.1.10]# vim /app/httpd24/htdocs/a.php
<?php
$mysqli=new mysqli("localhost","root","centos");
if(mysqli_connect_errno()){
echo "连接数据库失败!";
$mysqli=null;
exit;
}
echo "连接数据库成功!";
$mysqli->close();
phpinfo();
?>

  编辑完成以后,我们用浏览器打开查看一下:



  测试成功,我们可以把测试文件删除了。

  本步骤结束。

四、部署phpmyadmin

  phpmyadmin就是一个可以图形化配置数据库与php连接的软件,但是这个软件,只有在数据库和php在同一台主机的时候才可以生效。我们现在开始配置安装这个软件。

1、解压缩并更改目录位置

  首先,我们对这个文件进行解压缩:

unzip phpMyAdmin-4.0.10.20-all-languages.zip

  然后,我们把文件夹中的所有文件都移动到/app/httpd24/htdocs/下,并改名为pma/

[root@centos7 src]# cp -r phpMyAdmin-4.0.10.20-all-languages/ /app/httpd24/htdocs/pma/

  现在,我们来查看一下这个文件:

[root@centos7 src]# ls /app/httpd24/htdocs/pma/
browse_foreigners.php server_binlog.php
ChangeLog server_collations.php
changelog.php server_databases.php
chk_rel.php server_engines.php
composer.json server_export.php
config.sample.inc.php server_import.php
db_create.php server_plugins.php
db_datadict.php server_privileges.php
db_events.php server_replication.php
db_export.php server_sql.php
db_import.php server_status_advisor.php
db_operations.php server_status_monitor.php
db_printview.php server_status.php
db_qbe.php server_status_queries.php
db_routines.php server_status_variables.php
db_search.php server_variables.php
db_sql.php setup
db_structure.php show_config_errors.php
db_tracking.php sql.php
db_triggers.php tbl_addfield.php
doc tbl_change.php
examples tbl_chart.php
export.php tbl_create.php
favicon.ico tbl_export.php
file_echo.php tbl_get_field.php
gis_data_editor.php tbl_gis_visualization.php
import.php tbl_import.php
import_status.php tbl_indexes.php
index.php tbl_move_copy.php
js tbl_operations.php
libraries tbl_printview.php
LICENSE tbl_relation.php
license.php tbl_replace.php
locale tbl_row_action.php
navigation.php tbl_select.php
phpmyadmin.css.php tbl_sql.php
pmd_display_field.php tbl_structure.php
pmd_general.php tbl_tracking.php
pmd_pdf.php tbl_triggers.php
pmd_relation_new.php tbl_zoom_select.php
pmd_relation_upd.php themes
pmd_save_pos.php themes.php
prefs_forms.php transformation_overview.php
prefs_manage.php transformation_wrapper.php
print.css url.php
querywindow.php user_password.php
README version_check.php
RELEASE-DATE-4.0.10.20 view_create.php
robots.txt view_operations.php
schema_edit.php webapp.php
schema_export.php

2、通过图形化部署

  我们可以去打开网站,然后通过图形化界面来更改我们的数据库:











  我们的phpmyadmin部署至此已经完成。

五、部署wordpress

1、解压缩并移动文件

  首先,我们进行解压缩:

tar xvf wordpress-4.8.1-zh_CN.tar.gz

  然后,把该文件夹中的文件全部移动到/app/httpd24/htdocs/这个目录下:

[root@centos7 src]# cd wordpress/
[root@centos7 wordpress]# ls
[root@centos7 wordpress]# mv * /app/httpd24/htdocs/

  接着,我们进入/app/httpd24/htdocs/这个文件夹,查看文件:

[root@centos7 wordpress]# cd /app/httpd24/htdocs/
[root@centos7 htdocs]# ls
a.php wp-blog-header.php wp-load.php
index.html wp-comments-post.php wp-login.php
index.php wp-mail.php license.txt
wp-config-sample.php wp-settings.php pma
wp-content wp-signup.php readme.html
wp-cron.php wp-trackback.php wp-activate.php
wp-includes xmlrpc.php wp-admin
wp-links-opml.php

  我们可以看到这里面有一个wp-config-sample.php文件,我们复制一份并改名,接着编辑:

[root@centos7 htdocs]# cp wp-config-sample.php wp-config.php
[root@centos7 htdocs]# vim wp-config.php

  我们只需要修改四行的内容,也就是我们上一步中设置的数据库账号的相关内容:

/** WordPress数据库的名称 */
define('DB_NAME', 'wpdb'); /** MySQL数据库用户名 */
define('DB_USER', 'wpuser'); /** MySQL数据库密码 */
define('DB_PASSWORD', 'centos'); /** MySQL主机 */
define('DB_HOST', '172.17.251.77');

2、测试登录

  修改完成之后,我们直接浏览器登录测试就可以了:



  填写完相关的内容,然后点击左下角的安装wordpress



  我们的博客就这么搭建好了,我们可以登录进去试试看:



  至此,我们的实验圆满完成!

在centos7上实现LAMP的全过程及实现wordpress的更多相关文章

  1. 在CentOS7上通过RPM安装实现LAMP+phpMyAdmin过程全记录

    在CentOS7上通过RPM安装实现LAMP+phpMyAdmin过程全记录 时间:2017年9月20日 一.软件环境: IP:192.168.1.71 Hostname:centos73-2.sur ...

  2. LAMP 实现全过程及wordpress的搭建

    一.介绍 1. LAM(M)P: L:linux A:apache (httpd) M:mysql, mariadb M:memcached 缓存 P:php, perl, python WEB 资源 ...

  3. centos7.3搭建lamp实现使用wordpress

    ``` 环境说明: 在同一台主机上实现LAMP(Linux + Apache + MariaDB + PHP) CentOS 7.3.Apache 2.4.6.MariaDB 5.5.52.PHP 5 ...

  4. 在centos7上安装Jenkins

    在centos7上安装Jenkins 安装 添加yum repos,然后安装 sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins ...

  5. 在 CentOS7 上安装 zookeeper-3.4.9 服务

    在 CentOS7 上安装 zookeeper-3.4.9 服务 1.创建 /usr/local/services/zookeeper 文件夹: mkdir -p /usr/local/service ...

  6. 在 CentOS7 上部署 MySQL 主从

    在 CentOS7 上部署 MySQL 主从 通过 SecureCRT 连接至 MySQL 主服务器: 找到 my.cnf 文件所在的目录: mysql --help | grep my.cnf 一般 ...

  7. 在 CentOS7 上部署 zookeeper 服务

    在 CentOS7 上部署 zookeeper 服务 1 用 SecureCRT 或 XShell 等 Linux 客户端工具连接至 CentOS7 服务器: 2 进入到 /usr/local/too ...

  8. 在 CentOS7 上安装 MongoDB

    在 CentOS7 上安装 MongoDB 1 通过 SecureCRT 连接至 CentOS7 服务器: 2 进入到 /usr/local/ 目录: cd /usr/local 3 在当前目录下创建 ...

  9. 在 CentOS7 上安装 MySQL5.7

    在 CentOS7 上安装 MySQL5.7 1 通过 SecureCRT 连接到阿里云 CentOS7 服务器: 2 进入到目录 /usr/local/ 中: cd /usr/local/ 3 创建 ...

随机推荐

  1. JavaSE集合(十)之Map

    前面给大家介绍了集合家族中的Collection家族,这一篇给大家分享的是集合中的另一个家族就是Map家族.以前的时候学习Map的时候没有很认真的去学习,我觉得很多东西还是不是很清楚. 这次我将总结的 ...

  2. php memcache 扩展 php -m 与 phpinfo() 不同

    事情起因,因要升级 openssl(openssl升级这里不表) ,所以在升级后对 php 也进行了从新编译,编译成功. 发现没有安装,memcache 扩展,从新编译安装了一下,显示的安装成功,但是 ...

  3. 微信小程序中发送模版消息注意事项

    在微信小程序中发送模版消息 参考微信公众平台Api文档地址:https://mp.weixin.qq.com/debug/wxadoc/dev/api/notice.html#模版消息管理 此参考地址 ...

  4. python 输出颜色的与样式的方法

    上次遇到这个问题就想写下来,其实当时我也不怎么会,老师说这个东西不需要理解,只需要死记硬背,写的多了就记住了,所以今天搜集了几篇文章,加上自己的理解,写下了这篇python 输出颜色的样式与方法的文章 ...

  5. 利用Struts拦截器限制上传图片的格式和大小

    在这之前 Struts的一个核心功能就是大量的拦截器,既然是框架,那么自然也就贴心地为我们准备好了各种常用的功能,比如这里即将讨论的如何限制上传图片的格式和大小.那么既然是使用Struts已经写好的拦 ...

  6. Hibernate的Configuration对象的configure()方法

    Configuration configuration=new Configuration(); configuration.configure(); 在Hibernate底层实现configure( ...

  7. JDBC操作数据库之修改数据

    使用JDBC修改数据库中的数据,起操作方法是和添加数据差不多的,只不过在修改数据的时候还要用到UPDATE语句来实现的,例如:把图书信息id为1的图书数量改为100,其sql语句是:update bo ...

  8. Unitty 3D 贪吃蛇 今日小记 -- 碰撞

    当蛇头碰撞到蛋的时候  应该让蛋消失并且重新创建蛋. void OnTriggerEnter    可以使用这个方法 下面附有这个方法的介绍 其次需要对挂载在之上的Object  check IsTr ...

  9. Java 制作证书的工具keytool用法总结

    一.keytool的概念 keytool 是个密钥和证书管理工具.它使用户能够管理自己的公钥/私钥对及相关证书,用于(通过数字签名)自我认证(用户向别的用户/服务认证自己)或数据完整性以及认证服务.在 ...

  10. CentOS6.x服务器OpenSSH平滑7.3p版本——拒绝服务器漏洞攻击

    对于新安装的Linux服务器,默认OpenSSH及OpenSSL都不是最新的,需要进行升级以拒绝服务器漏洞攻击.本次介绍的是升级生产环境下CentOS6.x系列服务器平滑升级OpenSSL及OpenS ...