本文实例讲述了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
- 安装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
希望本文所述对大家centos系统配置有所帮助。