CentOS7系统搭建LAMP及更新PHP版本操作详解
这篇文章主要介绍了CentOS7系统搭建LAMP及更新PHP版本操作,总结分析了CentOS7系统搭建LAMP及更新PHP版本操作相关原理、步骤、操作命令与注意事项,需要的朋友可以参考下。
本文实例讲述了CentOS7系统搭建LAMP及更新PHP版本操作,分享给大家供大家参考,具体如下:
搭建LAMP环境 用yum安装
安装Apache
安装Apache
[root@localhost /]# yum install httpd httpd-devel
启动Apache
[root@localhost /]# systemctl start httpd
设置Apache开机启动
[root@localhost /]# systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
查看Apache状态
- [root@localhost /]# 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.
防火墙开启80端口, 依此执行以下命令
- [root@localhost /]# firewall-cmd --permanent --zone=public --add-service=http
- success
- [root@localhost /]# firewall-cmd --permanent --zone=public --add-service=https
- success
- [root@localhost /]# firewall-cmd --reload
- success
查看80端口监听状态
- [root@localhost /]# 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
查看服务器IP
- [root@localhost /]# 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.5.133/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
浏览器登陆查看
安装mysql
- [root@localhost /]# yum install mariadb mariadb-server mariadb-libs mariadb-devel
- [root@localhost /]# 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
开启Mysql,并设置开机启动,检查状态
- [root@localhost /]# systemctl start mariadb
- [root@localhost /]# systemctl enable mariadb
- Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
- [root@localhost /]# 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@localhost /]# 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
数据库安全设置
- [root@localhost /]# 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!
登陆数据库测试
- [root@localhost /]# 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)]>
安装PHP
安装PHP
- [root@localhost /]# yum -y install php
- [root@localhost /]# 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
将php与mysql关联起来
- [root@localhost /]# yum install php-mysql
- [root@localhost /]# 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
安装常用PHP模块
[root@localhost /]# 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
测试PHP
- [root@localhost /]# cd /var/www/html/
- [root@localhost /]# ls
- [root@localhost /]# pwd
- /var/www/html
- [root@localhost /]# vi info.php
- <?php
- phpinfo();
- ?>
- ~
- ~
- ~
- ~
- ~
- ~
- ~
- ~
- :wq
重启Apache
[root@localhost /]# systemctl restart httpd
测试PHP
更新PHP版本
首先查看是否有老版本
[root@localhost /]# yum list installed | grep php
移除老版本
[root@localhost /]# yum remove php.x86_64 php-cli.x86_64 php-common.x86_64 php-gd.x86_64 php-ldap.x86_64 php-mbstring.x86_64 php-mcrypt.x86_64 php-mysql.x86_64 php-pdo.x86_64
由于linux的yum源不存在php7.x,所以我们要更改yum源:
[root@localhost /]# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
[root@localhost /]# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
查看yum源中有没有php7.x
- [root@localhost /]# yum search php7
- Loaded plugins: fastestmirror, langpacks
- Loading mirror speeds from cached hostfile
- epel/x86_64/metalink | 5.9 kB 00:00:00
- * base: mirrors.aliyun.com
- * epel: my.mirrors.thegigabit.com
- * extras: mirrors.cn99.com
- * updates: mirrors.163.com
- * webtatic: uk.repo.webtatic.com
- epel | 5.4 kB 00:00:00
- webtatic | 3.6 kB 00:00:00
- (1/5): epel/x86_64/group_gz | 90 kB 00:00:01
- (2/5): webtatic/x86_64/group_gz | 448 B 00:00:04
- (3/5): epel/x86_64/primary_db | 6.9 MB 00:00:06
- (4/5): epel/x86_64/updateinfo | 1.0 MB 00:00:10
- (5/5): webtatic/x86_64/primary_db | 232 kB 00:00:14
- ============================================================= N/S matched: php7 =============================================================
- mod_php71w.x86_64 : PHP module for the Apache HTTP Server
- mod_php72w.x86_64 : PHP module for the Apache HTTP Server
- php70w.x86_64 : PHP scripting language for creating dynamic web sites
- php70w-bcmath.x86_64 : A module for PHP applications for using the bcmath library
- php70w-cli.x86_64 : Command-line interface for PHP
- php70w-common.x86_64 : Common files for PHP
- php70w-dba.x86_64 : A database abstraction layer module for PHP applications
- php70w-devel.x86_64 : Files needed for building PHP extensions
- php70w-embedded.x86_64 : PHP library for embedding in applications
- php70w-enchant.x86_64 : Enchant spelling extension for PHP applications
- php70w-fpm.x86_64 : PHP FastCGI Process Manager
- php70w-gd.x86_64 : A module for PHP applications for using the gd graphics library
- php70w-imap.x86_64 : A module for PHP applications that use IMAP
- php70w-interbase.x86_64 : A module for PHP applications that use Interbase/Firebird databases
- php70w-intl.x86_64 : Internationalization extension for PHP applications
- php70w-ldap.x86_64 : A module for PHP applications that use LDAP
- php70w-mbstring.x86_64 : A module for PHP applications which need multi-byte string handling
- php70w-mcrypt.x86_64 : Standard PHP module provides mcrypt library support
- php70w-mysql.x86_64 : A module for PHP applications that use MySQL databases
- php70w-mysqlnd.x86_64 : A module for PHP applications that use MySQL databases
- php70w-odbc.x86_64 : A module for PHP applications that use ODBC databases
- php70w-opcache.x86_64 : An opcode cache Zend extension
- php70w-pdo.x86_64 : A database access abstraction module for PHP applications
- php70w-pdo_dblib.x86_64 : MSSQL database module for PHP
- php70w-pear.noarch : PHP Extension and Application Repository framework
- php70w-pecl-apcu.x86_64 : APCu - APC User Cache
- php70w-pecl-apcu-devel.x86_64 : APCu developer files (header)
- php70w-pecl-geoip.x86_64 : Extension to map IP addresses to geographic places
- php70w-pecl-igbinary.x86_64 : Replacement for the standard PHP serializer
- php70w-pecl-igbinary-devel.x86_64 : Igbinary developer files (header)
- php70w-pecl-imagick.x86_64 : Provides a wrapper to the ImageMagick library
- php70w-pecl-imagick-devel.x86_64 : Imagick developer files (header)
- php70w-pecl-memcached.x86_64 : Extension to work with the Memcached caching daemon
- php70w-pecl-mongodb.x86_64 : PECL package MongoDB driver
- php70w-pecl-redis.x86_64 : Extension for communicating with the Redis key-value store
- php70w-pecl-xdebug.x86_64 : PECL package for debugging PHP scripts
- php70w-pgsql.x86_64 : A PostgreSQL database module for PHP
- php70w-phpdbg.x86_64 : Interactive PHP debugger
- php70w-process.x86_64 : Modules for PHP script using system process interfaces
- php70w-pspell.x86_64 : A module for PHP applications for using pspell interfaces
- php70w-recode.x86_64 : A module for PHP applications for using the recode library
- php70w-snmp.x86_64 : A module for PHP applications that query SNMP-managed devices
- php70w-soap.x86_64 : A module for PHP applications that use the SOAP protocol
- php70w-tidy.x86_64 : Standard PHP module provides tidy library support
- php70w-xml.x86_64 : A module for PHP applications which use XML
- php70w-xmlrpc.x86_64 : A module for PHP applications which use the XML-RPC protocol
- php71w-bcmath.x86_64 : A module for PHP applications for using the bcmath library
- php71w-cli.x86_64 : Command-line interface for PHP
- php71w-common.x86_64 : Common files for PHP
- php71w-dba.x86_64 : A database abstraction layer module for PHP applications
- php71w-devel.x86_64 : Files needed for building PHP extensions
- php71w-embedded.x86_64 : PHP library for embedding in applications
- php71w-enchant.x86_64 : Enchant spelling extension for PHP applications
- php71w-fpm.x86_64 : PHP FastCGI Process Manager
- php71w-gd.x86_64 : A module for PHP applications for using the gd graphics library
- php71w-imap.x86_64 : A module for PHP applications that use IMAP
- php71w-interbase.x86_64 : A module for PHP applications that use Interbase/Firebird databases
- php71w-intl.x86_64 : Internationalization extension for PHP applications
- php71w-ldap.x86_64 : A module for PHP applications that use LDAP
- php71w-mbstring.x86_64 : A module for PHP applications which need multi-byte string handling
- php71w-mcrypt.x86_64 : Standard PHP module provides mcrypt library support
- php71w-mysql.x86_64 : A module for PHP applications that use MySQL databases
- php71w-mysqlnd.x86_64 : A module for PHP applications that use MySQL databases
- php71w-odbc.x86_64 : A module for PHP applications that use ODBC databases
- php71w-opcache.x86_64 : An opcode cache Zend extension
- php71w-pdo.x86_64 : A database access abstraction module for PHP applications
- php71w-pdo_dblib.x86_64 : MSSQL database module for PHP
- php71w-pear.noarch : PHP Extension and Application Repository framework
- php71w-pecl-apcu.x86_64 : APCu - APC User Cache
- php71w-pecl-apcu-devel.x86_64 : APCu developer files (header)
- php71w-pecl-geoip.x86_64 : Extension to map IP addresses to geographic places
- php71w-pecl-igbinary.x86_64 : Replacement for the standard PHP serializer
- php71w-pecl-igbinary-devel.x86_64 : Igbinary developer files (header)
- php71w-pecl-imagick.x86_64 : Provides a wrapper to the ImageMagick library
- php71w-pecl-imagick-devel.x86_64 : Imagick developer files (header)
- php71w-pecl-memcached.x86_64 : Extension to work with the Memcached caching daemon
- php71w-pecl-mongodb.x86_64 : PECL package MongoDB driver
- php71w-pecl-redis.x86_64 : Extension for communicating with the Redis key-value store
- php71w-pecl-xdebug.x86_64 : PECL package for debugging PHP scripts
- php71w-pgsql.x86_64 : A PostgreSQL database module for PHP
- php71w-phpdbg.x86_64 : Interactive PHP debugger
- php71w-process.x86_64 : Modules for PHP script using system process interfaces
- php71w-pspell.x86_64 : A module for PHP applications for using pspell interfaces
- php71w-recode.x86_64 : A module for PHP applications for using the recode library
- php71w-snmp.x86_64 : A module for PHP applications that query SNMP-managed devices
- php71w-soap.x86_64 : A module for PHP applications that use the SOAP protocol
- php71w-tidy.x86_64 : Standard PHP module provides tidy library support
- php71w-xml.x86_64 : A module for PHP applications which use XML
- php71w-xmlrpc.x86_64 : A module for PHP applications which use the XML-RPC protocol
- php72w-bcmath.x86_64 : A module for PHP applications for using the bcmath library
- php72w-cli.x86_64 : Command-line interface for PHP
- php72w-common.x86_64 : Common files for PHP
- php72w-dba.x86_64 : A database abstraction layer module for PHP applications
- php72w-devel.x86_64 : Files needed for building PHP extensions
- php72w-embedded.x86_64 : PHP library for embedding in applications
- php72w-enchant.x86_64 : Enchant spelling extension for PHP applications
- php72w-fpm.x86_64 : PHP FastCGI Process Manager
- php72w-gd.x86_64 : A module for PHP applications for using the gd graphics library
- php72w-imap.x86_64 : A module for PHP applications that use IMAP
- php72w-interbase.x86_64 : A module for PHP applications that use Interbase/Firebird databases
- php72w-intl.x86_64 : Internationalization extension for PHP applications
- php72w-ldap.x86_64 : A module for PHP applications that use LDAP
- php72w-mbstring.x86_64 : A module for PHP applications which need multi-byte string handling
- php72w-mysql.x86_64 : A module for PHP applications that use MySQL databases
- php72w-mysqlnd.x86_64 : A module for PHP applications that use MySQL databases
- php72w-odbc.x86_64 : A module for PHP applications that use ODBC databases
- php72w-opcache.x86_64 : An opcode cache Zend extension
- php72w-pdo.x86_64 : A database access abstraction module for PHP applications
- php72w-pdo_dblib.x86_64 : MSSQL database module for PHP
- php72w-pear.noarch : PHP Extension and Application Repository framework
- php72w-pecl-apcu.x86_64 : APCu - APC User Cache
- php72w-pecl-apcu-devel.x86_64 : APCu developer files (header)
- php72w-pecl-geoip.x86_64 : Extension to map IP addresses to geographic places
- php72w-pecl-igbinary.x86_64 : Replacement for the standard PHP serializer
- php72w-pecl-igbinary-devel.x86_64 : Igbinary developer files (header)
- php72w-pecl-imagick.x86_64 : Provides a wrapper to the ImageMagick library
- php72w-pecl-imagick-devel.x86_64 : Imagick developer files (header)
- php72w-pecl-libsodium.x86_64 : Wrapper for the Sodium cryptographic library
- php72w-pecl-memcached.x86_64 : Extension to work with the Memcached caching daemon
- php72w-pecl-mongodb.x86_64 : PECL package MongoDB driver
- php72w-pecl-redis.x86_64 : Extension for communicating with the Redis key-value store
- php72w-pecl-xdebug.x86_64 : PECL package for debugging PHP scripts
- php72w-pgsql.x86_64 : A PostgreSQL database module for PHP
- php72w-phpdbg.x86_64 : Interactive PHP debugger
- php72w-process.x86_64 : Modules for PHP script using system process interfaces
- php72w-pspell.x86_64 : A module for PHP applications for using pspell interfaces
- php72w-recode.x86_64 : A module for PHP applications for using the recode library
- php72w-snmp.x86_64 : A module for PHP applications that query SNMP-managed devices
- php72w-soap.x86_64 : A module for PHP applications that use the SOAP protocol
- php72w-sodium.x86_64 : Wrapper for the Sodium cryptographic library
- php72w-tidy.x86_64 : Standard PHP module provides tidy library support
- php72w-xml.x86_64 : A module for PHP applications which use XML
- php72w-xmlrpc.x86_64 : A module for PHP applications which use the XML-RPC protocol
- Name and summary matches only, use "search all" for everything.
yum 安装php72w和各种拓展,选自己需要的即可:
[root@localhost /]# yum -y install php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-fpm php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml php72w-pear
完成安装 , 查看PHP版本
[root@localhost /]# php -v
重启服务器
[root@localhost /]# systemctl restart httpd