📅  最后修改于: 2020-10-31 13:19:14             🧑  作者: Mango
PHP是当今使用最多产的Web语言之一。每个CentOS都需要在CentOS上安装LAMP Stack,这很可能早于以后。
传统的LAMP堆栈由(L)inux(A)pache(M)ySQL(P)HP组成。
CentOS上的LAMP Stack有三个主要组件-
注–术语LAMP Stack也可以包括以下技术:PostgreSQL,MariaDB,Perl, Python,Ruby,NGINX Web服务器。
在本教程中,我们将继续使用CentOS GNU Linux的传统LAMP堆栈:Apache Web服务器,MySQL数据库服务器和PHP。
我们实际上将使用MariaDB。 MySQL配置文件,数据库和表对MariaDB透明。 MariaDB现在包含在标准CentOS存储库中,而不是MySQL。这是由于许可和开放源代码合规性的限制,因为Oracle接管了MySQL的开发。
我们需要做的第一件事是安装Apache。
[root@CentOS]# yum install httpd
Loaded plugins: fastestmirror, langpacks
base
| 3.6 kB 00:00:00
extras
| 3.4 kB 00:00:00
updates
| 3.4 kB 00:00:00
extras/7/x86_64/primary_d
| 121 kB 00:00:00
Loading mirror speeds from cached hostfile
* base: mirror.sigmanet.com
* extras: linux.mirrors.es.net
* updates: mirror.eboundhost.com
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 0:2.4.6-45.el7.centos will be installed
--> Processing Dependency: httpd-tools = 2.4.6-45.el7.centos for package:
httpd-2.4.6-45.el7.centos.x86_64
--> Processing Dependency: /etc/mime.types for package: httpd-2.4.645.el7.centos.x86_64
--> Running transaction check
---> Package httpd-tools.x86_64 0:2.4.6-45.el7.centos will be installed
---> Package mailcap.noarch 0:2.1.41-2.el7 will be installed
--> Finished Dependency Resolution
Installed:
httpd.x86_64 0:2.4.6-45.el7.centos
Dependency Installed:
httpd-tools.x86_64 0:2.4.6-45.el7.centos
mailcap.noarch 0:2.1.41-2.el7
Complete!
[root@CentOS]#
让我们配置httpd服务。
[root@CentOS]# systemctl start httpd && systemctl enable httpd
现在,让我们确保可以通过Firewalld访问Web服务器。
bash-3.2# nmap -sS -p 1-1024 -T 5 -sV 10.211.55.1
Starting Nmap 7.30 ( https://nmap.org ) at 2017-01-28 02:00 MST
Nmap scan report for centos.shared (10.211.55.1)
Host is up (0.00054s latency).
Not shown: 1022 filtered ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 6.6.1 (protocol 2.0)
80/tcp open http Apache httpd 2.4.6 ((CentOS))
Service detection performed. Please report any incorrect results at
https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 10.82 seconds bash-3.2#
从nmap服务探针可以看到,Apache Web服务器正在侦听并响应CentOS主机上的请求。
[root@CentOS rdc]# yum install mariadb-server.x86_64 && yum install mariadb-
devel.x86_64 && mariadb.x86_64 && mariadb-libs.x86_64
我们正在为MariaDB安装以下存储库软件包-
主MariaDB Server守护程序包。
需要从具有MySQL / MariaDB兼容性的源文件中编译文件。
MariaDB客户端实用程序,用于从命令行管理MariaDB Server。
使用MySQL / MariaDB支持编译的其他应用程序可能需要MariaDB的公共库。
现在,让我们开始并启用MariaDB服务。
[root@CentOS]# systemctl start mariadb
[root@CentOS]# systemctl enable mariadb
注–与Apache不同,我们不会通过基于主机的防火墙(防火墙)启用与MariaDB的连接。使用数据库服务器时,除非特别需要远程套接字访问,否则最好的安全做法是仅允许本地套接字连接。
让我们确保MariaDB服务器正在接受连接。
[root@CentOS#] netstat -lnt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
[root@CentOS rdc]#
如我们所见,MariaDB正在监听端口3306 tcp。我们将保留基于主机的防火墙(防火墙),以阻止与端口3306的传入连接。
[root@CentOS#] yum install php.x86_64 && php-common.x86_64 && php-mysql.x86_64
&& php-mysqlnd.x86_64 && php-pdo.x86_64 && php-soap.x86_64 && php-xml.x86_64
我建议安装以下php软件包以实现通用兼容性-
[root@CentOS]# yum install -y php-common.x86_64 php-mysql.x86_64 php-
mysqlnd.x86_64 php-pdo.x86_64 php-soap.x86_64 php-xml.x86_64
这是我们位于/ var / www / html /的Apache webroot中的简单php文件。
[root@CentOS]# cat /var/www/html/index.php
PHP Test Page
PHP Install
"
?>
[root@CentOS]#
让我们将页面的拥有者组更改为运行http守护程序的系统用户。
[root@CentOS]# chgrp httpd /var/www/html/index.php && chmod g+rx /var/www/html/index.php
---
通过ncat手动请求时。
bash-3.2# ncat 10.211.55.1 80
GET / index.php
HTTP/1.1 200 OK
Date: Sat, 28 Jan 2017 12:06:02 GMT
Server: Apache/2.4.6 (CentOS) PHP/5.4.16
X-Powered-By: PHP/5.4.16
Content-Length: 137
Connection: close
Content-Type: text/html; charset=UTF-8
PHP Test Page
PHP Install
We are now running PHP on GNU Centos Linux!
bash-3.2#
PHP和LAMP是非常流行的Web编程技术。作为CentOS管理员,LAMP的安装和配置一定会列入您的需求清单。易于使用的CentOS软件包通过从源代码编译Apache,MySQL和PHP进行了大量工作。