ECS CentOS7.4环境搭建(Apache+PHP+Mariadb+FTP+phpmyadmin)

本文介绍如何在 Linux下搭建一个 PHP 环境。其中 Linux 系统使用是 CentOS 7.4,部署在阿里云服务器上。
1,连接登录服务器
登录控制台,点击远程连接,输入用户名和密码连接服务器

ECS CentOS7.4环境搭建(Apache+PHP+Mariadb+FTP+phpmyadmin)_第1张图片
无标题.png

2,安装Apache
(1)执行如下命令进行安装

yum install httpd

(2)开启 apache 服务

systemctl start httpd.service

(3)设置 apache 服务开机启动

systemctl enable httpd.service

(4)在本机浏览器中输入服务器的 ip 地址,可以看到如下地址则说明 Apache 安装启动成功了。

ECS CentOS7.4环境搭建(Apache+PHP+Mariadb+FTP+phpmyadmin)_第2张图片
无标题.png

3,安装MySQL(MariaDB)
centos7 内置的 MySQL 镜像已经放弃 Oracle 公司的 MySQL,改用 MySQL 的分支数据库 mariaDB。
(1)执行如下命令进行安装

yum -y install mariadb mariadb-server

(2)开启 MySQL 服务

systemctl start mariadb.service

如果启动失败,可以运行如下命令查看 mariadb 的依赖情况:

yum search mariadb

比如执行后会看到如下结果:


ECS CentOS7.4环境搭建(Apache+PHP+Mariadb+FTP+phpmyadmin)_第3张图片
无标题.png

根据上面信息安装缺少的依赖包。安装完毕后就可以成功启动 mariadb 了。

yum install mariadb‐bench mariadb‐devel mariadb‐embedded mariadb‐libs mariadb mariadb‐server

(3)设置开机启动 MySQL 服务

systemctl enable mariadb.service

(4)设置 root 帐户的密码(默认是空)

mysql_secure_installation

(5)一切设置完毕后,可以使用如下命令验证下。

mysql ‐uroot ‐p

(6)创建新用户

允许本地 IP 访问 localhost, 127.0.0.1

create user 'test'@'localhost' identified by '123456';
允许外网 IP 访问

create user 'test'@'%' identified by '123456';

(7)为用户创建数据库

create database test DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

(8)为新用户分配权限

授予用户通过外网IP对于该数据库的全部权限

grant all privileges on `testdb`.* to 'test'@'%' identified by '123456';
授予用户在本地服务器对该数据库的全部权限
grant all privileges on `testdb`.* to 'test'@'localhost' identified by '123456';
刷新权限
flush privileges;

4,安装PHP
(1)执行如下命令进行安装

yum install php

(2)安装 PHP 的 MySQL 扩展

yum install php‐mysql

(3)按照其他常用的 PHP 模块

yum install php‐gd php‐ldap php‐odbc php‐pear php‐xml php‐xmlrpc php‐mbstring php‐snmp php‐soap curl curl‐devel php‐imap

(4)使用 vi /etc/php.ini 命令编辑 php.ini 文件,将 short_open_tag 成 ON 开启短标签功能。

short_open_tag = ON

(5)重启 apache 服务

systemctl restart httpd.service

(6)我们使用 vi 命令新建个 php 页面测试一下

vi /var/www/html/info.php

文件内容如下:


保存完毕后,使用浏览器访问这个 /info.php 页面,我们看到如下 PHP 信息,则说明 LAMP 环境已经部署成功了。


ECS CentOS7.4环境搭建(Apache+PHP+Mariadb+FTP+phpmyadmin)_第4张图片
无标题.png

5,安装FTP
(1)执行如下命令进行安装

yum install vsftpd

(2)使用如下命令增加账户,其中 /var/www/html 是我们的 ftp 目录,ftpadmin 为 ftp 用户名。

useradd ‐d /var/www/html ‐s /sbin/nologin ftpadmin

(3)给 ftpadmin 这个用户设置密码

passwd ftpadmin

(4)给 ftp 目录修改权限,否则无法上传文件

chmod o+w /var/www/html/

(5)为安全起见,我们还需要使用 vi 命令编辑 vsftpd 的配置文件。

vi /etc/vsftpd/vsftpd.conf

修改如下内容:禁止匿名用户登录,不可以让 ftp 用户跳出自己的家目录

#修改
anonymous_enable=NO    #禁止匿名访问
data_connection_timeout=5    #数据连接超时时间。如果在使用vsftpd上传下载碎小文件的时候容易发生超时中断的问题,将120改成5或者更小为佳

#使ftp用户始终在项目部署的根目录范围内,禁止访问系统其它文件
chroot_local_user=YES    #打开注释
chroot_list_enable=YES    #打开注释
chroot_list_file=/etc/vsftpd/chroot_list    #打开注释(没有此目录自己创建并添加ftpadmin用户)
allow_writeable_chroot=YES    #添加

#默认保持不变
xferlog_enable=YES    #启用上传和下载的日志功能。它可以对用户的操作进行日志记录,当出现问题的时候可以通过日志排查问题

(5)启动 vsftpd 服务。启动完毕后我们就可以使用 FTP 工具来连接了。

systemctl start vsftpd.service

(6)设置开机自动启动 FTP 服务

systemctl enable vsftpd.service

(7)可以安装ftp客户端测试连接是否有错

yum -y install ftp

ftp  127.0.0.1

6.安装phpmyadmin

yum install phpmyadmin php-mcrypt

同时会在 Apache 的配置文件目录中自动创建虚拟主机配置文件 /etc/httpd/conf.d/phpMyAdmin.conf(区分大小写)。默认情况下,CentOS 上的phpMyAdmin只允许从回环地址(127.0.0.1)访问。为了能远程连接,你需要改动它的配置

vi /etc/httpd/conf.d/phpMyAdmin.conf

修改配置文件,如下:


   AddDefaultCharset UTF-8

   
     # Apache 2.4
     
      # Require ip 127.0.0.1  #注释掉
      # Require ip ::1   #注释掉
      Require all granted   #新添加
     
 
 
     # Apache 2.2
     Order Deny,Allow
     Deny from All
     Allow from 127.0.0.1
     Allow from ::1
   



   
     # Apache 2.4
     
      #Require ip 127.0.0.1  #注释掉
      #Require ip ::1   #注释掉
      Require all granted   #新添加
     
   
   
     # Apache 2.2
     Order Deny,Allow
     Deny from All
     Allow from 127.0.0.1
     Allow from ::1
   

然后重启Apache服务器

systemctl restart httpd

然后就可以通过浏览器访问http://服务器ip地址/phpmyadmin访问进行数据库操作了

7.配置https
(1)安装SSL

yum install mod_ssl openssl

(2)到阿里云AC证书服务平台申请免费的证书,申请成功后下载Apache的证书解压后放到httpd根目录新建cert文件夹下,然后修改是httpd/conf/conf.d/ssl.conf的证书文件路径

在配置文件中查找以下配置语句:

# 添加 SSL 协议支持协议,去掉不安全的协议

SSLProtocol all -SSLv2 -SSLv3

# 修改加密套件如下

SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM

SSLHonorCipherOrder on

# 证书公钥配置

SSLCertificateFile cert/public.pem

# 证书私钥配置

SSLCertificateKeyFile cert/214051257410097.key

# 证书链配置,如果该属性开头有 '#'字符,请删除掉

SSLCertificateChainFile cert/chain.pem

注:如果是配置域名访问还需更改配置文件中的severname
( 3 ) 重启 Apache。

( 4) 通过 https 方式访问您的站点,测试站点证书的安装配置。
8.无法远程连接数据库问题
默认情况下数据库都是只能允许在本地连接的,我们可以为某数据库配置一个账号进行远程连接操作,首先登陆MySQL

mysql -u root -p

然后创建一个远程连接用户

create user 'test'@'%' identified by '123456'

然后给这个用户授权

grant all privileges on testdb.* to test@'%' identified  by '123456'

刷新系统权限表

 mysql> flush privileges;

附:修改文件时,回车后即可修改,修改完后按esc键—— shift+: ——输入wq——回车,即可退回命令行。

你可能感兴趣的:(ECS CentOS7.4环境搭建(Apache+PHP+Mariadb+FTP+phpmyadmin))