centos配置apche、FTP、防火墙配置、php安装、mysql安装(天翼云完整版)

    技术2025-05-24  43

    将天翼云centos部署lamp的一系列所有动作的整理了一遍,避免再入坑

    一、apache

    1、apache安装及配置

    yum install httpd -y

    2、配置开机启动

    systemctl start httpd

    systemctl enable httpd 

    3、查看启动状态

    systemctl status httpd

    二、ftp 安装

    centos如果开启了ssh2,不需要特殊安装,直接可访问

    三、外网允许访问(适用apache2.4版本)

    /etc/httpd/conf/httpd.conf

    <Directory />   AllowOverride none   Require all granted </Directory> <Directory "C:/xampp/htdocs">   Options FollowSymLinks   AllowOverride All   Allow from all   Require all granted   <Files "index.php">     SetHandler application/x-httpd-php   </Files>   <Files "zentao.php">     SetHandler application/x-httpd-php   </Files>   <Files "zentaopro.php">     SetHandler application/x-httpd-php   </Files> </Directory>

    同时修改访问端口,listen

    重启服务

    四、在防火墙上设置

    查看防火墙状态

    systemctl status firewalld.service 

    开启和停止依然是start和stop

    增加可访问端口

    开启端口

    firewall-cmd --zone=public --add-port=80/tcp --permanent

    查看端口是否开启

     firewall-cmd --query-port=80/tcp

    重启防火墙

    firewall-cmd --reload

    查询哪些端口开启

     firewall-cmd --list-port

    添加自启动:

     systemctl enable firewalld.service 

    五,在天翼云安全组内增加端口

    入方向和出方向均添加次端口策略

    六、测试apache是否启动

    本地测试 curl http://127.0.0.1:8081

    远端测试访问页面即可

    七、mysql安装

    (一)安装前先卸载rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64

    #查看版本

    rpm -qa|grep mariadb

    #删除

    rpm -e --nodeps mariadb-libs-5.5.64-1.el7.x86_64

    #再次查看

    rpm -qa|grep mariadb

    (二)安装及配置mysql

    1、安装wget

    1)查看是否安装: rpm -qa|grep "wget" 如果已安装会显示wget相关信息,如果不显示信息就表示没安装,wget命令自然不能使用。

    2)安装wget

    yum -y install wget 当看到Complete!表示成功...

    3)再次查看是否安装(出现以下版本信息表示安装成功)

    4)输入wget -h进行测试

    2、安装mysql

    https://www.cnblogs.com/shuo1208/p/11237713.html

    1)下载并安装MySQL官方的 Yum Repository

    [root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

      使用上面的命令就直接下载了安装用的Yum Repository,大概25KB的样子,然后就可以直接yum安装了。

    [root@localhost ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm

      之后就开始安装MySQL服务器。

    [root@localhost ~]# yum -y install mysql-community-server

     

    至此MySQL就安装完成了,然后是对MySQL的一些设置。

    查看安装之后的状态 :systemctl status mysqld

    添加服务器启动项

    systemctil enable mysqld

    3、配置MySQL

    1)查看初始root密码:

    grep "password" /var/log/mysqld.log

    由于初始化密码过于复杂,我们可以考虑跨过验证直接登录后修改密码,需要修改my.cnf文件配置,建议修改密码后将验证打开,步骤如下:

    ###打开vim /etc/my.cnf

    在[mysqld]标签下添加这三行

    skip-grant-tables character_set_server=utf8 init_connect='SET NAMES utf8'

    ###注释:

    skip-grant-tables:跳过登录验证

    character_set_server=utf8:设置默认字符集UTF-8

    init_connect='SET NAMES utf8':设置默认字符集UTF-8

    切记一定要重启mysqld服务

    systemctl stop mysqld

    systemctl start mysqld

    2)修改root密码

    进入数据库,由于已经修改了配置文件,所以直接回车就可,不需要输入密码

    mysql -uroot -p

    选择数据库:

    use mysql;

    修改user表中密码值:

    update user set authentication_string=password('password') where user='root';

    flush privileges;#即可生效

    然后将my.cnf文件的skip-grant-tables注释掉即可。

    如果再次登录mysql,运行语句时出现:

    只需再次执行一次

    alter user "root"@"localhost" identified by "密码";

    即可

    https://www.cnblogs.com/lzhdonald/p/12511998.html

    删除:https://www.cnblogs.com/hqjy/p/7248680.html

    安装:https://www.cnblogs.com/shuo1208/p/11237713.html

    4、开启远端连接:

    1)新建用户:

    进入到mysql , mysql -uroot -p,输入密码

    先执行 ALTER USER USER() IDENTIFIED BY 'root密码';,

    否则会报错You must reset your password using ALTER USER statement before executing this statement.

    创建用户 CREATE USER 'test'@'localhost' IDENTIFIED BY '密码';

    2)授权:grant all privileges on *.* to 'test'@'%' identified by '密码' with grant option;

    by后面的就是远程登录密码,远程登录密码可以和用户密码不一样,建议使用用户密码。

    3)在firewalld上添加3306端口

     firewall-cmd --query-port=3306/tcp

    firewall-cmd --reload

    4)测试即可

    5、处理SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #1

    出现这种问题 直接修改mysql的配置文件就可以了 (/etc/my.cnf)

    在mysqld下面添加

    sql_mode=""或者 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

    保存重启mysql 

    (三)安装php

    方法一:

    1、安装epel-release

     yum -y install epel-release

    2、安装php7.0

    首先我们先来获取PHP7.0的yum源,执行下面的指令:

    rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

    查看到扩展名称后可以选择自己的要求安装几个,下面我推荐安装这几个通用的,直接上指令吧。想要什么扩展后期也可以安装上去不用担心,指令也是一样的,yum install {写扩展名}。

    安装指令:yum install php70w php70w-fpm php70w-cli php70w-common php70w-devel php70w-gd php70w-pdo php70w-mysql php70w-mbstring php70w-bcmath

    安装的时候有两次要输入Y回车,才会继续安装的,乖乖输入就好了。

    安装成功了,我来查看以下是否安装成功了,输入下面的指令看出版本试试吧!

    指令:php -v

    能看到下图的内容就证明安装成功了!

    方法二

     

    安装PHP7

      rpm -ivh http://mirrors.ustc.edu.cn/epel/epel-release-latest-7.noarch.rpm  (2018年9月12日 亲测有效)  安装 epel-release

      rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

      yum install php70w

      php -v  测试是否安装成功

    查看是否成功

      <?php phpinfo(); ?>  写入文件  index.php

      将文件放至  /var/www/html

      然后访问  ip:80/index.php 查看即可

    结果测试:

    打开php.ini短标签short_open_tag,去掉前面分号

    新建index.php ,写上<?php phpinfo(); ?>

    重启httpd

    访问域名:8081/index.php,可打印出来

    方法三、安装PDO可用

    一、安装准备

    使用以下命令将yum仓库包升级更换成PHP7的rpm包

    rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

    二、开始安装

    1.先使用yum命令安装基本PHP组件,以后要用到啥再安装啥

    yum -y install php70w.x86_64 php70w-cli.x86_64 php70w-common.x86_64 php70w-gd.x86_64 php70w-ldap.x86_64 php70w-mbstring.x86_64 php70w-mcrypt.x86_64 php70w-mysql.x86_64 php70w-pdo.x86_64

    2.再安装PHP-fpm(进程管理器,提供PHP进程管理方式,可以有效控制内存和进程、平滑重载PHP配置)

    yum -y install php70w-fpm php70w-opcache

    3.安装完之后启动php-fpm

    systemctl start php-fpm

    4.查看版本以检测是否安装成功

    php -v

    三、检测PHP是否能与Nginx互通(为测试,mark)

    1.在Nginx的默认HTML文件夹里(/usr/local/webserver/nginx/html/)新建一个index.php,内容如下:

    <?php phpinfo(); ?>

     

    2.修改Nginx的配置文件(可使用find /|grep nginx.conf搜索配置文件位置)Nginx.conf,修改新增如下:

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }

    要将原属性修改成蓝色字体部分,不然访问index.php会出现以下情况(php-fpm找不到原SCRIPT_FILENAME里执行的php文件)

    3.重启Nginx

    /usr/local/webserver/nginx/sbin/nginx -s reload

    4.访问域名(IP)/index.php出现以下内容即为配置成功

    四、检测PHP是否能与mysql互通

    将上一份index.PHP内容修改如下

    <?php // 创建连接 $test = mysqli_connect('localhost','root','qq1234');//数据库服务器地址,账号名,密码 // 检测 if (!$test) echo "连接失败,请检查mysql服务以及账户密码"; echo "数据库连接成功!"; ?>

    修改完之后直接访问index.php,无需重启Nginx

    Processed: 0.012, SQL: 9