在centos7上搭建博客之⼩⽩教程~原理
http使⽤⽅法⼀编译安装,php模块打⼊⽅式实现。
软件版本
实验前准备
提前安装好软件包组及其相关的包:
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)进⼊该⽬录并编译安装
[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.
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_ -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-mediumf policy
magic my-smallf wsrepf
my-hugef mysqld_multi.server wsrep_notify
my-innodb-heavy-4Gf mysql-log-rotate
my-largef mysql.server
[root@centos7 mysql]# mkdir /etc/mysql
[root@centos7 mysql]# cp support-files/my-hugef /etc/mysql/myf
接下来,我们来修改配置⽂件:
[root@centos7 mysql]# vim /etc/mysql/myf
[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.
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/f
我们要在⽂件的尾部加上两⾏:
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/
安装mysql时start service失败[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
< view_operations.php
schema_edit.php webapp.php
schema_export.php
2、通过图形化部署
我们可以去打开⽹站,然后通过图形化界⾯来更改我们的数据库:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论