标签:编译安装apache、编译安装mariadb、编译安装php 搭建个人博客
软件环境:centos7.3
软件包:
apr-1.5.2.tar.bz2
apr-util-1.5.4.tar.bz2
httpd-2.4.27.tar.bz2
mariadb-10.2.7-linux-x86_64.tar.gz
php-7.1.7.tar.bz2
wordpress-4.8-zh_CN.tar.gz
xcache-3.2.0.tar.gz
准备工作:
[root@he ~]# mkdir /app #创建/app目录,我们把软件包安装到/app里 [root@he ~]# mkdir data #创建data文件夹,把我们下载的软件包传入 [root@he ~]# ls data [root@he ~]# cd data/ [root@he data]# rz [root@he data]# rz [root@he data]# rz [root@he data]# rz [root@he data]# rz [root@he data]# rz [root@he data]# rz [root@he data]# ls #显示我们所有的软件包 apr-1.5.2.tar.bz2 httpd-2.4.27.tar.bz2 php-7.1.7.tar.bz2 xcache-3.2.0.tar.gz apr-util-1.5.4.tar.bz2 mariadb-10.2.7-linux-x86_64.tar.gz wordpress-4.8-zh_CN.tar.gz [root@he ~]# yum -y groupinstall ‘development tools‘ #提前安装开发包组 Loaded plugins: fastestmirror There is no installed groups file. Maybe run: yum groups mark convert (see man yum) base ………… Dependency Installed: apr.x86_64 0:1.4.8-3.el7 apr-util.x86_64 0:1.5.2-6.el7 boost-system.x86_64 0:1.53.0-26.el7 boost-thread.x86_64 0:1.53.0-26.el7 bzip2.x86_64 0:1.0.6-13.el7 dwz.x86_64 0:0.11-3.el7 dyninst.x86_64 0:8.2.0-2.el7 emacs-filesystem.noarch 1:24.3-19.el7_3 gdb.x86_64 0:7.6.1-94.el7 gettext-common-devel.noarch 0:0.18.2.1-4.el7 gettext-devel.x86_64 0:0.18.2.1-4.el7 kernel-devel.x86_64 0:3.10.0-514.26.2.el7 libdwarf.x86_64 0:20130207-4.el7 libgfortran.x86_64 0:4.8.5-11.el7 libgnome-keyring.x86_64 0:3.8.0-3.el7 libquadmath.x86_64 0:4.8.5-11.el7 libquadmath-devel.x86_64 0:4.8.5-11.el7 libstdc++-devel.x86_64 0:4.8.5-11.el7 mokutil.x86_64 0:0.9-2.el7 neon.x86_64 0:0.30.0-3.el7 pakchois.x86_64 0:0.4-10.el7 perl-Data-Dumper.x86_64 0:2.145-3.el7 perl-Error.noarch 1:0.17020-2.el7 perl-Git.noarch 0:1.8.3.1-6.el7_2.1 perl-TermReadKey.x86_64 0:2.30-20.el7 perl-Test-Harness.noarch 0:3.28-3.el7 perl-Thread-Queue.noarch 0:3.02-2.el7 perl-XML-Parser.x86_64 0:2.41-10.el7 perl-srpm-macros.noarch 0:1-8.el7 rsync.x86_64 0:3.0.9-17.el7 subversion-libs.x86_64 0:1.7.14-10.el7 systemtap-client.x86_64 0:3.0-7.el7 systemtap-devel.x86_64 0:3.0-7.el7 systemtap-runtime.x86_64 0:3.0-7.el7 unzip.x86_64 0:6.0-16.el7 zip.x86_64 0:3.0-11.el7 Complete! [root@he ~]# yum remove -y apr #上面包组有老版的apr,可以卸载了 Loaded plugins: fastestmirror Resolving Dependencies --> Running transaction check ---> Package apr.x86_64 0:1.4.8-3.el7 will be erased ………… Removed: apr.x86_64 0:1.4.8-3.el7 Dependency Removed: apr-util.x86_64 0:1.5.2-6.el7 subversion.x86_64 0:1.7.14-10.el7 subversion-libs.x86_64 0:1.7.14-10.el7 Complete! [root@he ~]# yum install pcre-devel openssl-devel #安装需要的包 Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile Resolving Dependencies --> Running transaction check ………… Installed: openssl-devel.x86_64 1:1.0.1e-60.el7_3.1 pcre-devel.x86_64 0:8.32-15.el7_2.1 Dependency Installed: keyutils-libs-devel.x86_64 0:1.5.8-3.el7 krb5-devel.x86_64 0:1.14.1-27.el7_3 libcom_err-devel.x86_64 0:1.42.9-9.el7 libkadm5.x86_64 0:1.14.1-27.el7_3 libselinux-devel.x86_64 0:2.5-6.el7 libsepol-devel.x86_64 0:2.5-6.el7 libverto-devel.x86_64 0:0.2.5-4.el7 zlib-devel.x86_64 0:1.2.7-17.el7 Complete!
1、httpd2.4.27编译安装
[root@he data]# tar xf apr-1.5.2.tar.bz2 #解压文件 [root@he data]# tar xf apr-util-1.5.4.tar.bz2 [root@he data]# tar xf httpd-2.4.27.tar.bz2 [root@he data]# mv apr-1.5.2 httpd-2.4.27/srclib/apr #将apr的文件放进httpd文件夹里面一起安装 [root@he data]# mv apr-util-1.5.4 httpd-2.4.27/srclib/apr-util [root@he data]# cd httpd-2.4.27 [root@he httpd-2.4.27]# ./configure --prefix=/app/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-included-apr --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork #自定义安装的一些设置 …… config.status: executing default commands configure: summary of build options: Server Version: 2.4.27 Install prefix: /app/httpd24 C compiler: gcc -std=gnu99 CFLAGS: -g -O2 -pthread LDFLAGS: LIBS: CPPFLAGS: -DLINUX -D_REENTRANT -D_GNU_SOURCE C preprocessor: gcc -E [root@he httpd-2.4.27]# make && make install #正式安装 ………… Installing configuration files mkdir /app/httpd24/conf mkdir /app/httpd24/conf/extra mkdir /app/httpd24/conf/original mkdir /app/httpd24/conf/original/extra Installing HTML documents mkdir /app/httpd24/htdocs Installing error documents mkdir /app/httpd24/error Installing icons mkdir /app/httpd24/icons mkdir /app/httpd24/logs Installing CGIs mkdir /app/httpd24/cgi-bin Installing header files Installing build system files Installing man pages and online manual mkdir /app/httpd24/man mkdir /app/httpd24/man/man1 mkdir /app/httpd24/man/man8 mkdir /app/httpd24/manual make[1]: Leaving directory `/root/data/httpd-2.4.27‘ [root@he ~]# vim /etc/profile.d/app.sh #写一个脚本,把httpd、mariadb放进bin下 export PATH=/app/httpd24/bin:/usr/local/mysql/bin:$PATH [root@he httpd-2.4.27]# . /etc/profile.d/app.sh #执行一下 [root@he httpd-2.4.27]# ss -ntl #查看80端口对否开启 State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 *:22 *:* [root@he httpd-2.4.27]# apachectl #用apache自带的程序启动 AH00558: httpd: Could not reliably determine the server‘s fully qualified domain name, using 127.0.0.1. Set the ‘ServerName‘ directive globally to suppress this message [root@he mysql]# ss -ntl #确认服务启动成功 State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 *:80 *:* LISTEN 0 128 *:22 *:* LISTEN 0 80 *:22 *:* [root@he httpd-2.4.27]# curl 39.108.126.131 #用字符浏览器看一下,这样就ok啦 <html><body><h1>It works!</h1></body></html> 注解: AH00558: 这个只是一个提示,算不上报错 在配置文件/app/httpd24/conf/httpd.conf里面改一下ServerName localhost:80重启就不会有了
2、二进制安装mariadb
[root@he data]# rpm -qa ‘mariadb*‘ #检查是否存在旧版本 mariadb-libs-5.5.52-1.el7.x86_64 [root@he data]# yum remove mariadb-libs #删除旧版本 Loaded plugins: fastestmirror Resolving Dependencies --> Running transaction check ---> Package mariadb-libs.x86_64 1:5.5.52-1.el7 will be erased ………… Removed: mariadb-libs.x86_64 1:5.5.52-1.el7 Dependency Removed: postfix.x86_64 2:2.10.1-6.el7 redhat-lsb-core.x86_64 0:4.1-27.el7.centos.1 Complete! [root@he bin]# cd /root/data #进入存放软件包的文件夹 [root@he data]# ls apr-1.5.2.tar.bz2 httpd-2.4.27 mariadb-10.2.7-linux-x86_64.tar.gz wordpress-4.8-zh_CN.tar.gz apr-util-1.5.4.tar.bz2 httpd-2.4.27.tar.bz2 php-7.1.7.tar.bz2 xcache-3.2.0.tar.gz [root@he data]# tar xf mariadb-10.2.7-linux-x86_64.tar.gz -C /usr/local/ #解压到/usr/local [root@he data]# cd /usr/local/ #进入解压数据库的文件夹 [root@he local]# ls aegis bin etc games include lib lib64 libexec mariadb-10.2.7-linux-x86_64 sbin share src [root@he local]# ln -s mariadb-10.2.7-linux-x86_64/ mysql #写个软连接 [root@he local]# useradd -r mysql -s /sbin/nologin -d /app/mysqldb -m #创建mysql用户并指定家目录 [root@he local]# cd mysql/ [root@he mysql]# scripts/mysql_install_db --user=mysql --datadir=/app/mysqldb/ #运行生成数据库的脚本 Installing MariaDB/MySQL system tables in ‘/app/mysqldb/‘ ... ………… The latest information about mysql_install_db is available at https://mariadb.com/kb/en/installing-system-tables-mysql_install_db MariaDB is hosted on launchpad; You can find the latest source and email lists at http://launchpad.net/maria Please check all of the above before submitting a bug report at [root@he mysql]# mkdir /etc/mysql #创建配置目录 [root@he mysql]# cp support-files/my-huge.cnf /etc/mysql/my.cnf #复制自带的配置模板 [root@he mysql]# vim /etc/mysql/my.cnf #修改模板 …… # The MySQL server [mysqld] datadir = /app/mysqldb #存放位置 innodb_file_per_table = ON skip_name_resolve = ON port = 3306 …… [root@he mysql]# cp support-files/mysql.server /etc/init.d/mysqld #复制启动服务模板 [root@he mysql]# chkconfig --add mysqld #加入启动项 [root@he mysql]# chkconfig --list mysqld #查看启动项 Note: This output shows SysV services only and does not include native systemd services. SysV configuration data might be overridden by native systemd configuration. If you want to list systemd services use ‘systemctl list-unit-files‘. To see services enabled on particular target use ‘systemctl list-dependencies [target]‘. mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off [root@he mysql]# service mysqld start #启动的时候如果失败检查/etc/mysql/my.cnf路径有没写错,可以参考/app/mysqldb/主机名.err文件排错 Starting mysqld (via systemctl): Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details. [FAILED] [root@he mysql]# service mysqld start #启动服务, Starting mysqld (via systemctl): [ OK ] [root@he mysql]# ss -ntl #确认服务启动成功 State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 *:80 *:* LISTEN 0 128 *:22 *:* LISTEN 0 80 :::3306 :::* [root@he mysql]# mysql_secure_installation #执行mariadb自带的脚本配置安全选项 NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MariaDB to secure it, we‘ll need the current password for the root user. If you‘ve just installed MariaDB, and you haven‘t set the root password yet, the password will be blank, so you should just press enter here. Enter current password for root (enter for none): #根据提示完成下列选项 OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorisation. …… Reload privilege tables now? [Y/n] y ... Success! Cleaning up... All done! If you‘ve completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB! [root@he mysql]# mysql -uroot -pXXXXX #登录mariadb Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 17 Server version: 10.2.7-MariaDB-log MariaDB Server Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others. Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement. MariaDB [(none)]> create database wpdb; #创建数据库 Query OK, 1 row affected (0.00 sec) MariaDB [(none)]> grant all on wpdb.* to username@‘%‘ identified by ‘XXXXX.‘; #创建新的用户和密码并分配权限 Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> exit #退出 Bye
3、编译安装php
[root@he mysql]# cd /root/data/ #进入放软件包的文件夹 [root@he data]# tar xf php-7.1.7.tar.bz2 #解压文件 [root@he data]# cd php-7.1.7 [root@he php-7.1.7]# yum -y install libxml2-devel bzip-devel libmcrypt-devel bzip2-deve #安装需要的包 ………… Verifying : libxml2-devel-2.9.1-6.el7_2.3.x86_64 4/4 Installed: libmcrypt-devel.x86_64 0:2.5.8-13.el7 libxml2-devel.x86_64 0:2.9.1-6.el7_2.3 Dependency Installed: libmcrypt.x86_64 0:2.5.8-13.el7 xz-devel.x86_64 0:5.2.2-1.el7 Complete! [root@he php-7.1.7]# ./configure --prefix=/app/php --enable-mysqlnd --with-mysqli=mysqlnd --with-openssl --enable-mbstring --with-png-dir --with-jpeg-dir --with-freetype-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 --with-bz2 checking for grep that handles long lines and -e... /usr/bin/grep #自定义一些模块的设置 checking for egrep... /usr/bin/grep -E checking for a sed that does not truncate output... /usr/bin/sed ………… Thank you for using PHP. config.status: creating php7.spec config.status: creating main/build-defs.h config.status: creating scripts/phpize config.status: creating scripts/man1/phpize.1 config.status: creating scripts/php-config config.status: creating scripts/man1/php-config.1 config.status: creating sapi/cli/php.1 config.status: creating sapi/cgi/php-cgi.1 config.status: creating ext/phar/phar.1 config.status: creating ext/phar/phar.phar.1 config.status: creating main/php_config.h config.status: executing default commands [root@he php-7.1.7]# make && make install #编译安装 ………… Installing PEAR environment: /app/php/lib/php/ [PEAR] Archive_Tar - installed: 1.4.3 [PEAR] Console_Getopt - installed: 1.4.1 [PEAR] Structures_Graph- installed: 1.1.1 [PEAR] XML_Util - installed: 1.4.2 [PEAR] PEAR - installed: 1.10.5 Wrote PEAR system config file at: /app/php/etc/pear.conf You may want to add: /app/php/lib/php to your php.ini include_path /root/data/php-7.1.7/build/shtool install -c ext/phar/phar.phar /app/php/bin ln -s -f phar.phar /app/php/bin/phar Installing PDO headers: /app/php/include/php/ext/pdo/ [root@he php-7.1.7]# cp php.ini-production /etc/php.ini #复制一份配置文件去修改 [root@he php-7.1.7]# vim /app/httpd24/conf/httpd.conf #修改apache的配置文件,允许php文件 …… AddType application/x-compress .Z AddType application/x-gzip .gz .tgz AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps …… <IfModule dir_module> DirectoryIndex index.php index.html </IfModule> [root@he php-7.1.7]# apachectl stop #关闭服务 [root@he php-7.1.7]# apachectl start #启动服务
4、测试连接
[root@he php-7.1.7]# vim /app/httpd24/htdocs/index.php #写一个测试数据库是否联通的小文件 <?php $mysqli=new mysqli("127.0.0.1","root","XXXXX"); if(mysqli_connect_errno()){ echo "连接数据库失败!"; $mysqli=null; exit; } echo "连接数据库成功!"; $mysqli->close(); ?>
5、解压WordPress、根据提示做一下基本的配置
[root@he ~]# cd /root/data/ #进入放软件包的文件夹 [root@he data]# tar xf wordpress-4.8-zh_CN.tar.gz #解压WordPress [root@he data]# mv wordpress /app/httpd24/htdocs/blog #把WordPress移动到apache目录下并更名blog [root@he data]# cd /app/httpd24/htdocs/blog/ #进入blog [root@he blog]# cp wp-config-sample.php wp-config.php #复制一份配置文件来修改 [root@he blog]# vim wp-config.php #修改配置文件,根据中文提示 …… // ** MySQL 设置 - 具体信息来自您正在使用的主机 ** // /** WordPress数据库的名称 */ define(‘DB_NAME‘, ‘wpdb‘); /** MySQL数据库用户名 */ define(‘DB_USER‘, ‘root‘); /** MySQL数据库密码 */ define(‘DB_PASSWORD‘, ‘XXXXXX‘); /** MySQL主机 */ define(‘DB_HOST‘, ‘localhost‘); ……
6、接下来要做的就是用浏览器访问http://172.16.252.250/blog ,根据系统的中文提示来完成个人博客的搭建
一、填写你登录自己博客的基本信息
三、登录成功,可以尽情的设置你想要的一些东西。
好了、搭建自己的博客我们就说说到这里啦,讲解描述得不清楚的地方请见谅。
本文出自 “11986114” 博客,请务必保留此出处http://11996114.blog.51cto.com/11986114/1954015
centos7.3 编译安装lamp,利用wordpress实现个人博客搭建
标签:编译安装apache、编译安装mariadb、编译安装php 搭建个人博客
原文地址:http://11996114.blog.51cto.com/11986114/1954015