在网上找了很多php7的安装,不知道为什么,Apache总是关联不到php,直到我看到了这篇。
附地址:https://www.howtoforge.com/tutorial/centos-lamp-server-apache-mysql-php/
不想阅读的朋友可以直接执行代码,其中vi的部分需要改文件,不会的正文中有。
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
yum -y install epel-release
yum -y install mariadb-server mariadb
systemctl start mariadb.service
systemctl enable mariadb.service
mysql_secure_installation
yum -y install httpd
systemctl start httpd.service
systemctl enable httpd.service
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload
rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum -y install yum-utils
yum update
yum -y install php
yum-config-manager --enable remi-php70
yum -y install php php-opcache
systemctl restart httpd.service
vi /var/www/html/info.php
yum search php
yum -y install php-mysqlnd php-pdo
yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-soap curl curl-devel
systemctl restart httpd.service
yum -y install phpMyAdmin
vi /etc/httpd/conf.d/phpMyAdmin.conf
vi /etc/phpMyAdmin/config.inc.php
systemctl restart httpd.service
1.准备阶段
在教程中,使用的hostname是serverl.example.com,IP为192.168.1.100。这两部分可能需要修改,请注意。
安装EPEL源,为了安装phpMyAdmin
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
yum -y install epel-release
源路径:/etc/yum.repos.d/
2.安装MySQL/MariaDB
安装MariaDB
MariaDB是MySQL原始开发者Monty Widenius开发的MySQL分支,兼容MySQL,这里原文作者安装了MariaDB
yum -y install mariadb-server mariadb
打开MariaDB并添加开机启动
systemctl start mariadb.service
systemctl enable mariadb.service
设置root账户密码
mysql_secure_installation
下面上图,后面根据情况选择y/n
如果你想安装mysql:
下载安装包
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
安装
yum install mysql-community-server
开启
systemctl start mysql
初始化
mysql_secure_installation
3.安装Apache
Apache对于Centos7而言就像一个即插即用的插件,一道命令就可以安装他(我不知道为什么要这么翻译)
yum -y install httpd
打开Apache并添加开启启动
systemctl start httpd.service
systemctl enable httpd.service
这里有一个关于防火墙的问题
apache开启以后,按照正常逻辑,我们已经可以通过ip访问服务器了,但是我这里出了问题,我可以用工具通过22端口,链接到虚拟机,也可以通过虚拟机访问外网和主机,却不能通过用主机通过ip访问apache,猜想是80端口使用TCP协议访问环节,需要防火墙模块协助,所以我们需要80端口,需要防火墙。
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload
现在你直接通过IP看你的服务器,http://192.168.1.100(这里不一样)应该是下图这个样子的
4.安装PHP
CentOS的php默认版本是5.4,这里介绍安装7.+的方法
首先安装Remi源
rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
安装yum-utils因为我们需要yum-config-manager
yum -y install yum-utils
yum update
yum-utils是管理repository及扩展包的工具 (主要是针对repository)
现在你就可以选择php版本了,这里做一个详细的说明,如果你需要5.4,只要安装5.4就可以了,如果你需要7.0,7.1或者7.2 。请在5.4的基础上安装你需要的版本。
php5.4
yum -y install php
php7.0
yum-config-manager --enable remi-php70
yum -y install php php-opcache
php7.1
yum-config-manager --enable remi-php71
yum -y install php php-opcache
php7.2
yum-config-manager --enable remi-php72
yum -y install php php-opcache
别忘记重启apache
systemctl restart httpd.service
5.测试php
这部分不在多说,我们要在/var/www/html下面新建info.php
输出phpinfo();
我们可以通过ip地址 http://192.168.1.100/info.php(这里不一样) 来查看
6.获取MySQL的支持
我们可以通过安装php-mysqlnd的包来解决这个问题
yum search php
yum -y install php-mysqlnd php-pdo
然后安装一些必要的扩展
yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-soap curl curl-devel
重启服务器
systemctl restart httpd.service
此时,你可以再phpinfo中找到mysqlnd的支持
7.安装phpMyAdmin
有人说过这是php写的做好的程序,作为MySQL的管理工具,我一直用它
yum -y install phpMyAdmin
配置文件路径:/etc/httpd/conf.d/phpMyAdmin.conf
在这里我出现了报错,error下面一大片available,这里是stackoverflow的链接。
解决方案
yum-config-manager --disable webtatic
yum install php-pecl-zip
yum --enablerepo=remi install phpMyAdmin
修改这里
phpMyAdmin路径:/etc/phpMyAdmin/config.inc.php
修改这里
[...]
$cfg['Servers'][$i]['auth_type'] = 'http'; // Authentication method (config, http or cookie based)?
[...]
重启Apache(我有点讨厌粘这个了,看在他是最后一步的份上)
systemctl restart httpd.service
你可以通过 http://192.168.1.100/phpmyadmin/(这里不一样)查看。
到这里结束。