美文网首页
阿里云 ECS 服务器 CentOS 7.4 搭建 LAMP W

阿里云 ECS 服务器 CentOS 7.4 搭建 LAMP W

作者: 半纸渊 | 来源:发表于2018-09-22 15:37 被阅读142次

    安装 PHP

    先移除低版本的 PHP

    查看 yum 安装的 PHP

    [root@~]# yum list installed | grep "php"
    php.x86_64                           5.4.16-45.el7                   @base      
    php-cli.x86_64                       5.4.16-45.el7                   @base      
    php-common.x86_64                    5.4.16-45.el7                   @base      
    php-gd.x86_64                        5.4.16-45.el7                   @base      
    php-imap.x86_64                      5.4.16-7.el7                    @epel      
    php-ldap.x86_64                      5.4.16-45.el7                   @base      
    php-odbc.x86_64                      5.4.16-45.el7                   @base      
    php-pdo.x86_64                       5.4.16-45.el7                   @base      
    php-pear.noarch                      1:1.9.4-21.el7                  @base      
    php-process.x86_64                   5.4.16-45.el7                   @base      
    php-xml.x86_64                       5.4.16-45.el7                   @base      
    php-xmlrpc.x86_64                    5.4.16-45.el7                   @base 
    
    [root@~]# rpm -qa | grep -i php
    php-cli-5.4.16-45.el7.x86_64
    php-odbc-5.4.16-45.el7.x86_64
    php-5.4.16-45.el7.x86_64
    php-process-5.4.16-45.el7.x86_64
    php-imap-5.4.16-7.el7.x86_64
    php-pdo-5.4.16-45.el7.x86_64
    php-gd-5.4.16-45.el7.x86_64
    php-xmlrpc-5.4.16-45.el7.x86_64
    php-common-5.4.16-45.el7.x86_64
    php-xml-5.4.16-45.el7.x86_64
    php-pear-1.9.4-21.el7.noarch
    php-ldap-5.4.16-45.el7.x86_64
    

    用 yum 删除所有包,用 rpm 会出现依赖问题,用 yum 可以无序删除

    [root@~]# sudo yum -y remove php.x86_64 php-cli.x86_64 php-common.x86_64 
    

    直接删除它们三个应该就可以全部删除了, yum 会把依赖的都删掉的。

    如果还有没删除的,就单个地删吧

    [root@~]# sudo yum -y remove xxx
    

    Step 01

    先去 rpm:http://rpms.remirepo.net/enterprise/ 的库里面找到 remi-release

    remi
    [root@~]# sudo yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
    

    使能安装库

    [root@~]# sudo subscription-manager repos --enable=rhel-7-server-optional-rpms
    [root@~]# sudo yum-config-manager --enable remi-php72
    [root@~]# sudo yum update
    

    查看安装库

    [root@~]# yum search | grep -i php72
    ......
    
    [root@~]# sudo yum search php72 | egrep 'fpm|gd|mysql|memcache'
    php72-php-fpm.x86_64 : PHP FastCGI Process Manager
    php72-php-gd.x86_64 : A module for PHP applications for using the gd graphics
    php72-php-mysqlnd.x86_64 : A module for PHP applications that use MySQL
    php72-php-pecl-memcache.x86_64 : Extension to work with the Memcached caching
    php72-php-pecl-memcached.x86_64 : Extension to work with the Memcached caching
    php72-php-pecl-mysql.x86_64 : MySQL database access functions
    php72-php-pecl-mysql-xdevapi.x86_64 : MySQL database access functions
    

    安装

    [root@~]# sudo yum -y install php72
    ......
    Installed:
      php72.x86_64 0:1.0-1.el7.remi                                                                               
    
    Dependency Installed:
      environment-modules.x86_64 0:3.2.10-10.el7            libargon2.x86_64 0:20161029-2.el7                    
      php72-php-cli.x86_64 0:7.2.9-1.el7.remi               php72-php-common.x86_64 0:7.2.9-1.el7.remi           
      php72-php-json.x86_64 0:7.2.9-1.el7.remi              php72-runtime.x86_64 0:1.0-1.el7.remi                
      scl-utils.x86_64 0:20130529-18.el7_4                  tcl.x86_64 1:8.5.13-8.el7                            
    
    Complete!
    
    

    安装常用的依赖

    [root@~]# sudo yum -y install php72-php-fpm php72-php-gd php72-php-json php72-php-mbstring php72-php-mysqlnd php72-php-xml php72-php-xmlrpc php72-php-opcache
    
    

    我通常是做什么事情提示出错了,少了那个库我再装的,目的就是为了减少安装无用的库。

    查看版本

    [root@~]# php -v
    -bash: php: command not found
    
    [root@~]# whereis php72
    php72: /usr/bin/php72
    
    [root@~]# ln /usr/bin/php72 /usr/bin/php
    
    [root@~]# php -v
    PHP 7.2.9 (cli) (built: Aug 15 2018 08:05:45) ( NTS )
    Copyright (c) 1997-2018 The PHP Group
    Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    
    

    测试是否安装成功

    [root@~]# echo "<?php phpinfo(); ?>" > /home/www/info.php
    

    在浏览器上输入 公网 IP/info.php ,成功的话会看到 PHP 的信息;

    我之前 PHP 5.4 那个版本的时候,直接没问题,现在这个 7.2 版本没成功,就是 Apache 没有解析 PHP 文件。

    phpinfo.error

    修复问题

    [root@~]# ls /etc/httpd/modules/ | grep "mod_php"
    
    [root@~]# ls /etc/httpd/conf.d/ | grep "php"
    

    什么都没有,也就是说 Apache 的 mod_php 模块没有添加,所以要安装 这个模块

    [root@~]# yum search mod | grep "mod_php"
    

    搜索 yum 的库也没有可以安装的 mod_php,所以又要添加新的安装源

    [root@~]# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
    Retrieving https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
    warning: /var/tmp/rpm-tmp.DnxfHf: Header V4 RSA/SHA1 Signature, key ID 62e74ca5: NOKEY
    Preparing...                          ################################# [100%]
    Updating / installing...
       1:webtatic-release-7-3             ################################# [100%]
    
    
    [root@izwz9dnfbgdn5tleje5eitz ~]# yum search mod | grep "mod_php"
    mod_php71w.x86_64 : PHP module for the Apache HTTP Server
    mod_php72w.x86_64 : PHP module for the Apache HTTP Server
    

    现在就有了,我们安装最新的 72w

    [root@~]# sudo yum -y install mod_php72w.x86_64
    

    再查看

    [root@~]#ls /etc/httpd/conf.d/ | grep "php"
    php.conf
    

    重启 Apache

    [root@~]# systemctl restart httpd.service
    

    重新在浏览器输入 公网 IP/info.php

    成功访问后的截图

    phpinfo7.2

    安装 WordPress

    先去官网 WordPress,按照截图复制安装包的链接地址。

    滚动到网页的下面 Get WordPress

    Blog Tool, Publishing Platform, and CMS — WordPress

    进入获取页面,找到 releases,进入 releases 页面

    Screenshot of Download _ WordPress.org

    右键复制链接

    Screenshot of Releases _ WordPress.org

    回到 Xshell 6 使用 wget 命令下载安装包

    [root@~]# wget https://wordpress.org/wordpress-4.9.8.tar.gz
    
    [root@~]# ls | grep "wordpress"
    wordpress-4.9.8.tar.gz
    

    解压 tar.gz 文件

    [root@~]# tar -zxvf wordpress-4.9.8.tar.gz
    
    [root@~]# ls | grep "wordpress"
    wordpress
    
    [root@~]# ls -la wordpress/
    

    复制 wordpress 的内容到 /var/www/deepppixel.com 中,反正就是 home 目录下

    [root@~]#  ls -la wordpress/
    total 200
    drwxr-xr-x   5 nobody 65534  4096 Aug  3 04:39 .
    dr-xr-x---.  9 root   root   4096 Sep 16 23:01 ..
    -rw-r--r--   1 nobody 65534   418 Sep 25  2013 index.php
    -rw-r--r--   1 nobody 65534 19935 Jan  7  2018 license.txt
    -rw-r--r--   1 nobody 65534  7415 Mar 19  2018 readme.html
    -rw-r--r--   1 nobody 65534  5458 May  2 06:10 wp-activate.php
    drwxr-xr-x   9 nobody 65534  4096 Aug  3 04:39 wp-admin
    -rw-r--r--   1 nobody 65534   364 Dec 19  2015 wp-blog-header.php
    -rw-r--r--   1 nobody 65534  1889 May  3 06:11 wp-comments-post.php
    -rw-r--r--   1 nobody 65534  2853 Dec 16  2015 wp-config-sample.php
    drwxr-xr-x   4 nobody 65534  4096 Aug  3 04:39 wp-content
    -rw-r--r--   1 nobody 65534  3669 Aug 20  2017 wp-cron.php
    drwxr-xr-x  18 nobody 65534 12288 Aug  3 04:39 wp-includes
    -rw-r--r--   1 nobody 65534  2422 Nov 21  2016 wp-links-opml.php
    -rw-r--r--   1 nobody 65534  3306 Aug 22  2017 wp-load.php
    -rw-r--r--   1 nobody 65534 37794 Jul 16 22:14 wp-login.php
    -rw-r--r--   1 nobody 65534  8048 Jan 11  2017 wp-mail.php
    -rw-r--r--   1 nobody 65534 16246 Oct  4  2017 wp-settings.php
    -rw-r--r--   1 nobody 65534 30091 Apr 30 07:10 wp-signup.php
    -rw-r--r--   1 nobody 65534  4620 Oct 24  2017 wp-trackback.php
    -rw-r--r--   1 nobody 65534  3065 Sep  1  2016 xmlrpc.php
    
    [root@~]# cp -rf wordpress/* /var/www/deeppppixel.com/
    

    如果目录文件夹下有 index.html 和 index.php ,Apache 会直接读取 index.html 的文件内容;不管 Apache 的 httpd.service 配置文件中没有配置 index.php ,也是只读取 index.html 文件的内容,当然如果你删除了 index.html 文件, Apahe 中不用配置也能直接读取 index.php 。

    添加 index.php 配置,打开后用 :/DirectoryIndex 快速找到配置项

    [root@~]# vim /etc/httpd/conf/httpd.conf
    ......
    161 # DirectoryIndex: sets the file that Apache will serve if a directory
    162 # is requested.
    163 #
    164 <IfModule dir_module>
    165     DirectoryIndex index.html index.php // 在这呢
    166 </IfModule>
    

    公网 IP 或者 域名 直接打开网页

    welcome

    开始进行 WordPress 的配置,wp-config.php ,点击下面的 Let`s go 就可以了

    WordPress › Setup Configuration File MySQL

    Database Name (数据库名称):你希望这个 wordpress 使用的数据库名称。

    Username(数据库的用户名)、Password(数据库的登录密码)。

    Database Host(数据库所有的网址,就是私网 IP),可以使用 ifconfig 可以快速查看 IP 地址

    [root@~]# ifconfig
    eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 私网  IP  netmask 255.255.240.0  broadcast 私网 IP 子网掩码
            ether 00:16:3e:0a:2a:14  txqueuelen 1000  (Ethernet)
            RX packets 151192  bytes 74982756 (71.5 MiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 110888  bytes 22429451 (21.3 MiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    

    Table Prefix(表前缀):如果要多个 wordpress 使用同一个 databases 就需要改变它,反正要保证不同的 wordpress 的表前缀不一样,防止数据冲突。

    如果没有 Databases 就用 MySQL 创建一个吧!

    [root@~]# mysql -u root -p
    Enter password: 
    ......
    
    mysql> create database deepppixel_com;  // 要用小写哦
    Query OK, 1 row affected (0.31 sec)
    
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | deepppixel_com     | // 在这呢
    | information_schema |
    | mysql              |
    | performance_schema |
    | sys                |
    +--------------------+
    5 rows in set (0.00 sec)
    
    // 使能 database
    mysql> use deepppixel_com;
    Database changed
    mysql>
    

    直接登录进入 deepppixel_com 数据库

    [root@~]# mysql -h localhost -u root -p deepppixel_com
    Enter password: 
    ......
    
    mysql> show tables;
    Empty set (0.00 sec)
    
    mysql> select database();
    +----------------+
    | database()     |
    +----------------+
    | deepppixel_com |
    +----------------+
    1 row in set (0.00 sec)
    
    mysql> 
    

    回到 wordpress 的配置,填好后,直接 submit 提交内容

    WordPress › Setup Configuration File 登录数据库

    如果你像我一样,那么就手动创建就可以了

    WordPress › Setup Configuration File wp-config.php

    直接复制里面的内容,手动创建 wp-config.php 文件

    [root@~]# vim /var/www/deepppixel.com/wp-config.php
    
    [root@~]# systemctl restart httpd.service
    

    点击 Run the installation 填写基本信息,密码要保存好哦!点击 Install WordPress 正式安装 WordPress

    WordPress › Installation

    我的密码非常复杂,但是它无法识别强度,所以我勾选了 Confirm use of weak password 就可以直接 Install 了。Search Engine Visibility 是指是否可以被搜索引擎搜索到。

    WordPress › Installation Success

    登录吧!

    Log In ‹ Deepppixel — WordPress.jpg Dashboard ‹ Deepppixel — WordPress

    安装完成后,直接打开网页 公网 IP 或者 域名

    Screenshot of Deepppixel – Just another WordPress site

    完成了!

    相关文章

      网友评论

          本文标题:阿里云 ECS 服务器 CentOS 7.4 搭建 LAMP W

          本文链接:https://www.haomeiwen.com/subject/fwhxoftx.html