Home > Article > Backend Development > How to install php environment in centos7
How to install the php environment in centos7: first use yum to quickly build the LAMP platform; then install PHP and associate php with mysql; then install common PHP modules and create "phpinfo();" for testing PHP; finally restart the apache server.
Install the PHP environment under Centos7
Use yum to quickly build the LAMP platform
Experimental environment:
[root@nmserver-7 html]# cat /etc/redhat-release CentOS release 7.3.1611 (AltArch) [root@nmserver-7 html]# uname -a Linux nmserver-7.test.com 3.10.0-514.el7.centos.plus.i686 #1 SMP Wed Jan 25 12:55:04 UTC 2017 i686 i686 i386 GNU/Linux
1. Install apache
1.1 Install apache
[root@nmserver-7 ~]# yum install httpd httpd-devel
1.2 Start the apache service
[root@nmserver-7 ~]# systemctl start httpd
1.3 Set up the httpd service to start at boot
[root@nmserver-7 ~]# systemctl enable httpd Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
1.4 Check the service status
[root@nmserver-7 ~]# systemctl status httpd ● httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) Active: active (running) since 五 2017-07-21 17:21:37 CST; 6min ago Docs: man:httpd(8) man:apachectl(8) Main PID: 2449 (httpd) Status: "Total requests: 11; Current requests/sec: 0; Current traffic: 0 B/sec" CGroup: /system.slice/httpd.service ├─2449 /usr/sbin/httpd -DFOREGROUND ├─2450 /usr/sbin/httpd -DFOREGROUND ├─2451 /usr/sbin/httpd -DFOREGROUND ├─2452 /usr/sbin/httpd -DFOREGROUND ├─2453 /usr/sbin/httpd -DFOREGROUND ├─2454 /usr/sbin/httpd -DFOREGROUND ├─2493 /usr/sbin/httpd -DFOREGROUND ├─2494 /usr/sbin/httpd -DFOREGROUND └─2495 /usr/sbin/httpd -DFOREGROUND 7月 21 17:21:35 nmserver-7.test.com systemd[1]: Starting The Apache HTTP Server... 7月 21 17:21:36 nmserver-7.test.com httpd[2449]: AH00558: httpd: Could not reliably determine the server's fully q...ssage 7月 21 17:21:37 nmserver-7.test.com systemd[1]: Started The Apache HTTP Server. Hint: Some lines were ellipsized, use -l to show in full.
1.5 防火墙设置开启80端口 [root@nmserver-7 ~]# firewall-cmd --permanent --zone=public --add-service=http success [root@nmserver-7 ~]# firewall-cmd --permanent --zone=public --add-service=https success [root@nmserver-7 ~]# firewall-cmd --reload success
1.6 Confirm that port 80 is listening
[root@nmserver-7 ~]# netstat -tulp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN 1084/sshd tcp 0 0 localhost:smtp 0.0.0.0:* LISTEN 1486/master tcp6 0 0 [::]:ssh [::]:* LISTEN 1084/sshd tcp6 0 0 localhost:smtp [::]:* LISTEN 1486/master tcp6 0 0 [::]:http [::]:* LISTEN 2449/httpd udp 0 0 localhost:323 0.0.0.0:* 592/chronyd udp6 0 0 localhost:323 [::]:* 592/chronyd
1.8 Check the server IP
[root@nmserver-7 ~]# ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0c:29:56:bc:cf brd ff:ff:ff:ff:ff:ff inet 192.168.8.9/24 brd 192.168.8.255 scope global ens33 valid_lft forever preferred_lft forever inet6 fe80::20c:29ff:fe56:bccf/64 scope link valid_lft forever preferred_lft forever 3: bridge0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN qlen 1000 link/ether ea:89:d5:c7:32:73 brd ff:ff:ff:ff:ff:ff
1.9 Browser login
If the browser cannot access it, configure the security group 80 of the Alibaba Cloud console
2. Install mysql
2.1 Install mysql
[root@nmserver-7 ~]# yum install mariadb mariadb-server mariadb-libs mariadb-devel root@nmserver-7 ~]# rpm -qa |grep maria mariadb-libs-5.5.52-1.el7.i686 mariadb-5.5.52-1.el7.i686 mariadb-server-5.5.52-1.el7.i686 mariadb-devel-5.5.52-1.el7.i686
2.2 Open the mysql service, and set it to start at boot, check the mysql status
[root@nmserver-7 ~]# systemctl start mariadb [root@nmserver-7 ~]# systemctl enable mariadb Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service. [root@nmserver-7 ~]# systemctl status mariadb ● mariadb.service - MariaDB database server Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled) Active: active (running) since 六 2017-07-22 21:19:20 CST; 21s ago Main PID: 9603 (mysqld_safe) CGroup: /system.slice/mariadb.service ├─9603 /bin/sh /usr/bin/mysqld_safe --basedir=/usr └─9760 /usr/libexec/mysqld --basedir=/usr --datadir=/v... 7月 22 21:19:15 nmserver-7.test.com mariadb-prepare-db-dir[9524]: ... 7月 22 21:19:15 nmserver-7.test.com mariadb-prepare-db-dir[9524]: ... 7月 22 21:19:15 nmserver-7.test.com mariadb-prepare-db-dir[9524]: ... 7月 22 21:19:15 nmserver-7.test.com mariadb-prepare-db-dir[9524]: ... 7月 22 21:19:15 nmserver-7.test.com mariadb-prepare-db-dir[9524]: ... 7月 22 21:19:15 nmserver-7.test.com mariadb-prepare-db-dir[9524]: ... 7月 22 21:19:15 nmserver-7.test.com mariadb-prepare-db-dir[9524]: ... 7月 22 21:19:16 nmserver-7.test.com mysqld_safe[9603]: 170722 21... 7月 22 21:19:16 nmserver-7.test.com mysqld_safe[9603]: 170722 21... 7月 22 21:19:20 nmserver-7.test.com systemd[1]: Started MariaDB ...
[root@nmserver-7 ~]# netstat -tulp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN 1084/sshd tcp 0 0 0.0.0.0:mysql 0.0.0.0:* LISTEN 9760/mysqld tcp6 0 0 [::]:ssh [::]:* LISTEN 1084/sshd tcp6 0 0 [::]:http [::]:* LISTEN 2449/httpd udp 0 0 localhost:323 0.0.0.0:* 592/chronyd udp6 0 0 localhost:323 [::]:* 592/chronyd
2.3 Database security settings
[root@nmserver-7 ~]# mysql_secure_installation NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MariaDB to secure it, we'll need the current password for the root user. If you've just installed MariaDB, and you haven't set the root password yet, the password will be blank, so you should just press enter here. Enter current password for root (enter for none): OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorisation. Set root password? [Y/n] y New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. ... Success! By default, a MariaDB installation has an anonymous user, allowing anyone to log into MariaDB without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] y ... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] n ... skipping. By default, MariaDB comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] y - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] y ... Success! Cleaning up... All done! If you've completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB!
2.4 Log in to the database test
[root@nmserver-7 ~]# mysql -uroot -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 11 Server version: 5.5.52-MariaDB MariaDB Server Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | +--------------------+ 3 rows in set (0.02 sec) MariaDB [(none)]>
3. Install PHP
3.1 Install php
[root@nmserver-7 ~]# yum -y install php [root@nmserver-7 ~]# rpm -ql php /etc/httpd/conf.d/php.conf /etc/httpd/conf.modules.d/10-php.conf /usr/lib/httpd/modules/libphp5.so /usr/share/httpd/icons/php.gif /var/lib/php/session
3.2 Connect php with mysql Associate it
[root@nmserver-7 ~]# yum install php-mysql [root@nmserver-7 ~]# rpm -ql php-mysql /etc/php.d/mysql.ini /etc/php.d/mysqli.ini /etc/php.d/pdo_mysql.ini /usr/lib/php/modules/mysql.so /usr/lib/php/modules/mysqli.so /usr/lib/php/modules/pdo_mysql.so
3.3 Install common PHP modules
[root@nmserver-7 ~]# yum install -y php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel php-bcmath
3.4 Test PHP
[root@nmserver-7 ~]# cd /var/www/html/ [root@nmserver-7 html]# ls [root@nmserver-7 html]# pwd /var/www/html [root@nmserver-7 html]# vi info.php <?php phpinfo(); ?> ~ ~ ~ ~ ~ ~ ~ ~ :wq
3.5 Restart apache server
[root@nmserver-7 html]# systemctl restart http
3.6 Test PHP
Enter 192.168.8.9/info.php in your computer browser, You can see the installed modules;
For more related knowledge, please visit PHP Chinese website!
The above is the detailed content of How to install php environment in centos7. For more information, please follow other related articles on the PHP Chinese website!