在centos7上搭建博客之小白教程~
原理
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上搭建博客之小白教程~的更多相关文章
- 利用Octopress在Github上搭建博客及后续问题总汇
首先贴一下我的新博客地址: http://findingsea.github.io 用Octopress在GitHub上搭建博客已经不是什么新鲜事了,网上的教程也多了去了,大题的方法什么都差不多,这篇 ...
- 基于Hexo且在GitHub上搭建博客
title: 基于Hexo且在GitHub上搭建博客 Welcome to Fofade's Blog! 搭建初衷 大大小小,大学两年,玩了很多,也学了很多. 回首望之,曾经不知道的,现在是知道了,但 ...
- laravel搭建博客实战的教程实例
这篇文章主要给大家介绍了关于利用laravel搭建一个迷你博客的相关资料,文中将一步步的实现步骤通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面跟着来一起学习学习吧. 本文主 ...
- 在github上搭建博客的问题
最近想到要建立一个自己的博客,以便记录自己在学习中遇到的问题.发现github免费提供空间,正好可以利用它来搭建自己的博客.毕竟github pages免费空间,不限制流量,每次的博客改动和博客模板的 ...
- 在github上搭建博客(使用Jekyll)
简单说,只需要三步,就可以在 Github 搭建起一个博客: 在 Github 上建一个名为 xxx.github.io 的库: 把看中了的 Jekyll 模板 clone 到本地: 把这个模板 pu ...
- 使用Jekyll在Github上搭建博客
最近在玩github,突然发现很多说明网站或者一些介绍页面全部在一个域名是*****.github.io上. 好奇!!!真的好奇!!!怎么弄的?我也要一个~~~ 于是去网站上查询了一下,找到了http ...
- 在Github上搭建博客
貌似还是这个链接最靠谱呀 http://my.oschina.net/nark/blog/116299 如何利用github建立个人博客:之一 在线编辑器http://markable.in/ed ...
- 搭建个人wordpress博客(小白教程)
新浪sae平台现在是有个免费个人空间使用,现在,教您如何使用该平台搭建属于自己的个人网站,本教程以wordpress程序安装包搭建个人网站. 申请新浪云账号 如果我们使用SAE新浪云计算平台作为服务器 ...
- 手把手教从零开始在GitHub上使用Hexo搭建博客教程(一)-附GitHub注册及配置
前言 有朋友问了我关于博客系统搭建相关的问题,由于是做开发相关的工作,我给他推荐的是使用github的gh-pages服务搭建个人博客. 推荐理由: 免费:github提供gh-pages服务是免费的 ...
随机推荐
- DHU 1788 Chinese remainder theorem again 中国剩余定理
Chinese remainder theorem again Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 ...
- Java对象的内存(一)
前言 新人一枚,刚刚入门编程不久,各方面都在学习当中,博文有什么错误的地方,希望我们可以多多交流! 最近,在开发App后台过程中,需要将项目部署到云服务器上.而云服务器的内存大小却只有1G.要如何做到 ...
- 【学习笔记】--- 老男孩学Python,day18 面向对象------ 属性,类方法,静态方法
属性 属性: 将方法伪装成一个属性,代码上没有什么提升,只是更合理. 应用场景: 类中 要用名词时候可以用@property 比如,求面积,周长,平方,体脂 等运算时候 例如: bmi是名词,最 ...
- ASP.NET SignalR-B.S/C.S 相互打通DEMO
ASP .NET SignalR 是一个ASP .NET 下的类库,可以在ASP .NET 的Web项目中实现实时通信. 什么是实时通信的Web呢?就是让客户端(Web页面)和服务器端可以互相通知 ...
- python学习笔记之—— calendar(日历)模块
内置函数month() #!/usr/bin/python import calendar print calendar.month(2017,12) 输出: December 2017 Mo Tu ...
- Android MVP Plugin,一键完成MVP结构代码编写
推荐一个Gradle的学习系列,Gradle相关的知识一直很匮乏,难得发现一个不错的系列: http://www.cnblogs.com/davenkin/p/gradle-learning-1.ht ...
- 【Android】RxJava的使用(四)线程控制 —— Scheduler
并没有关系的图 前言 经过前几篇的介绍,对RxJava对模式有了一定的理解:由Observable发起事件,经过中间的处理后由Observer消费.(对RxJava还不了解的可以出门左拐)之前的代码中 ...
- linux系统下安装ssl证书(tomcat)
1.申请ssl证书 2.下载ssl证书 打开此网址 https://myssl.com/cert_convert.html 将证书文件(xxx.com.crt)和密钥文件上传(xxx.com.key ...
- oracle 导入导出 dmp 的三种方式
1.命令行参数 比如:exp scott/tiger@orcl tables=emp file=D:\test.dmp 2.交互提示符 比如:C:\Users\Administrator>exp ...
- spring boot(10)-tomcat jdbc连接池
默认连接池 tomcat jdbc是从tomcat7开始推出的一个连接池,相比老的dbcp连接池要优秀很多.spring boot将tomcat jdbc作为默认的连接池,只要在pom.xml中引入了 ...