欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

VirtualBox下CentOS7.6安装MySQL5.7、Apache、PHP7.3并配置主机访问

程序员文章站 2022-05-17 14:45:48
...

        先写个大纲,以后有时间或者有需要再进行再编辑吧!

一、安装VirtualBox

        直接百度VirtualBox官网下载安装没问题。

二、安装CentOS7

        也是官网下载CentOS镜像,然后默认安装就可以了,如果是搭建整个LNMP环境,建议分配大点空间,我给的是1G+15G,因为考虑到主机是四核八线程的处理器,所以分配了两个处理器。

        CentOS分有界面和*面安装,虽然还是一样用终端和命令操作,但是有界面我用得顺手些,所以安装过程里我没有选择默认的最小安装,其余的哪里有叹号就点哪里,根据向导就可以完成安装。

三、设置网卡

        使用的是网络地址转换(NAT)+桥接网络的方式。

        网卡1

VirtualBox下CentOS7.6安装MySQL5.7、Apache、PHP7.3并配置主机访问

因为桥接网卡获取的IP不能上网(需要验证账号),因此网卡1负责联网,网卡2负责主机与虚拟机的连接。

VirtualBox下CentOS7.6安装MySQL5.7、Apache、PHP7.3并配置主机访问

网卡2选择为主机当前联网的网卡,主机上对应的网卡要在属性里安装VirtualBox的服务。

VirtualBox下CentOS7.6安装MySQL5.7、Apache、PHP7.3并配置主机访问

然后开启虚拟机CentOS,可以通过以下命令获得当前虚拟机网卡的IP地址等信息:

ifconfig

        CentOS7.6最小安装默认是没有net-tools的,也就是说上面的命令还不能用,甚至连网卡都不是自启动的。

        首先找到网卡配置目录:

cd /etc/sysconfig/network-scripts

        使用ls命令查看当前目录下的所有文件,一般ifcfg-en***的文件是网卡配置,使用vi命令打开,按一个字母键进行输入修改,将ONBOOT项改为YES,Esc键退出编辑,Shift+":"输入wq保存退出,不保存退出是输入q:

VirtualBox下CentOS7.6安装MySQL5.7、Apache、PHP7.3并配置主机访问

        重启网络服务:

service network restart

        这时已经可以连网了,然后安装net-tools:

yum install net-tools

        安装完成之后就可以使用ifconfig命令了这里分别是NAT网卡、桥接网卡、回环网卡,inet就是IP地址。

VirtualBox下CentOS7.6安装MySQL5.7、Apache、PHP7.3并配置主机访问

        启动sshd服务:

service sshd start

        利用IP地址和SSH可以在XShell、XFtp等工具中连接虚拟机进行操作,我这里使用桥接网卡进行连接,所以输入桥接网卡获得的IP地址,SSH默认端口号为22,然后输入CentOS的登录信息就可以连接进入CentOS。

VirtualBox下CentOS7.6安装MySQL5.7、Apache、PHP7.3并配置主机访问

VirtualBox下CentOS7.6安装MySQL5.7、Apache、PHP7.3并配置主机访问

        VirtualBox对于CentOS的共享粘贴板无效,所以有时候需要复制代码时比较麻烦,当然有界面操作的CentOS也可以在虚拟机上进行资料查找复制粘贴,但肯定没有主机效果好。

        当虚拟机能够联网,XShell、XFtp可以操作CentOS(新建连接,IP地址填上面命令获得的虚拟机的网卡IP地址,端口填22,左边的用户登录信息填写安装时创建的用户信息,XFtp最好填root用户可以直接操作root目录)。

        先安装一些需要用到的依赖包,会有重复,但不要紧,宁多勿缺:

yum -y install gcc libxml2 libxml2-devel httpd-devel.x86_64 openssl openssl-devel curl-devel libjpeg.x86_64 libpng.x86_64 freetype.x86_64 libjpeg-devel.x86_64 libpng-devel.x86_64 freetype-devel.x86_64 libjpeg-devel bzip2-devel.x86_64 libXpm-devel gmp-devel icu libicu libicu-devel epel-release php-mcrypt libmcrypt libmcrypt-devel postgresql-devel libxslt-devel
yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel curl curl-devel openssl openssl-devel
yum -y install libevent* libtool* autoconf* libstd* ncurse* bison* openssl*
yum -y install gcc
yum -y install gcc-c++
yum -y install libxslt-devel*
yum -y install mod_ssl
yum -y install libtool-ltdl*
yum -y install perl*

四、安装MySQL5.7

    1、卸载相关软件包:

rpm -qa|grep 数据库名        #查找相关包
rpm -e --nodeps 相关包名     #删除相关包

    2、到MySQL官方网站下载rpm包:

https://dev.mysql.com/downloads/mysql/

 这样选,我下载的是5.7.28

VirtualBox下CentOS7.6安装MySQL5.7、Apache、PHP7.3并配置主机访问

    必须有client、libs、common、server四个包。

VirtualBox下CentOS7.6安装MySQL5.7、Apache、PHP7.3并配置主机访问

VirtualBox下CentOS7.6安装MySQL5.7、Apache、PHP7.3并配置主机访问
    3、通过XFtp上传到虚拟机CentOS。

VirtualBox下CentOS7.6安装MySQL5.7、Apache、PHP7.3并配置主机访问
    4、移动到上传的目录,然后运行命令进行统一安装:

rpm -Uvh *.rpm --nodeps --force

    5、查看安装情况:

rpm -qa|grep mysql

    6、初始化MySQL:

        (1)、登录MySQL:

mysqld --initialize --user=mysql

        (2)、查看密码:

grep 'temporary password' /var/log/mysqld.log

        (3)、启动数据库服务:

systemctl start mysqld.service

        (4)、使用前面所获得的密码登录MySQL:

mysql -u root -p

        (5)、修改新密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
flush privileges;

       (6)、再想修改新密码时登录MySQL:

mysql> use mysql;
Database changed

mysql> set password for aaa@qq.com'%' = password('新密码');
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> exit

 

        (7)、设置远程连接:

mysql -u root -p

mysql> use mysql;

mysql> grant all privileges  on *.* to aaa@qq.com'%' identified by "password";

mysql> flush privileges;

mysql> exit;

mysql> select host,user from user;


          (8)、加入开机自启:

systemctl enable mysqld;

        (9)、设置防火墙开启3306端口

firewall-cmd --zone=public --add-port=3306/tcp --permanent

firewall-cmd --reload                                        #重启firewall
    
firewall-cmd --zone=public --list-ports                      #查看已经开放的端口

systemctl stop firewalld.service                             #停止firewall

systemctl disable firewalld.service                          #有需要的话禁止firewall开机启动

firewall-cmd --state                                         #查看防火墙状态

以上 是安装MySQL的内容!

五、安装Apache

1、安装Apache:

yum -y install httpd

相关命令:

systemctl start httpd      #开启Apache
systemctl stop httpd       #关闭Apache
systemctl restart httpd    #重启Apache

2、 防火墙配置80端口并检测主机连接虚拟机IP:

     (1)开放80端口

firewall-cmd --zone=public --add-port=80/tcp --permanent

     (2)重启防火墙

firewall-cmd --reload

     (3)查看防火墙开启状态

systemctl status firewalld

     (4)查看80端口开启状态

firewall-cmd --zone=public --query-port=80/tcp

主机输入虚拟机IP地址验证Apache服务器开启成功

以上是安装Apache的过程。

六、安装PHP

1、下载PHP源码包,我下载的是7.3.11:

http://mirrors.sohu.com/php/

2、通过XFtp上传到CentOS。

3、安装cmake最新版本:

     (1)下载源码包;

     (2)上传到root目录;

     (3)进入到root目录;

     (4)解压cmake包;

     (5)进入cmake目录;

     (6)配置cmake;

./configure

     (7)编译安装cmake。

4、更新libzip到1.5(PHP7.3.11需要):

     (1)下载源码包;

     (2)上传到root目录;

     (3)进入到root目录;

     (4)解压libzip包;

     (5)进入到libzip目录;

     (6)新建文件夹build;

     (7)进入build文件夹;

     (8)编译libzip:

cmake ..

     (9)安装libzip。

5、进入到PHP源码包目录进行解压编译安装:

     (1)解压:

tar -zxvf php-7.3.11.tar.gz

     (2)进入目录:

cd php-7.3.11

     (3)配置:

./configure --prefix=/usr/local/php7 --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-jpeg-dir --with-freetype-dir --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-xmlrpc --with-xsl --with-zlib --enable-fpm --enable-bcmath -enable-inline-optimization --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip --enable-pcntl --with-curl --with-fpm-user=nginx --enable-ftp --enable-session --enable-xml --without-pear --disable-phar

配置是旧版的配置拿来用,新版可能最后提示有一些配置无效,请忽视。如果提示off_t错误:

vim /etc/ld.so.conf 
#添加如下几行
/usr/local/lib64
/usr/local/lib
/usr/lib
/usr/lib64 
#保存退出
:wq
ldconfig -v # 使之生效

     (4)编译安装:

make && make install

     (5)配置PHP:

cp php.ini-production /usr/local/php7/etc/php.ini
cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf
cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf
vi /etc/init.d/php-fpm

 输入以下代码:

#! /bin/sh
# Comments to support chkconfig on CentOS
# chkconfig: 2345 65 37
#
set -e
 
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="php-fpm daemon"
NAME=php-fpm
DAEMON=/usr/local/php/sbin/$NAME
 
CONFIGFILE=/usr/local/php/etc/php-fpm.conf
PIDFILE=/usr/local/php/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
 
# Gracefully exit if the package has been removed.
test -x $DAEMON || exit 0
 
d_start() {
  $DAEMON -y $CONFIGFILE || echo -n " already running"
}
 
d_stop() {
  kill -QUIT `cat $PIDFILE` || echo -n " not running"
}
 
d_reload() {
  kill -HUP `cat $PIDFILE` || echo -n " can't reload"
}
 
case "$1" in
  start)
        echo -n "Starting $DESC is success"
        d_start
        echo "."
        ;;
  stop)
        echo -n "Stopping $DESC is success"
        d_stop
        echo "."
        ;;
  reload)
        echo -n "Reloading $DESC configuration..."
        d_reload
        echo "reloaded."
  ;;
  restart)
        echo -n "Restarting $DESC is success"
        d_stop
        sleep 1
        d_start
        echo "."
        ;;
  *)
         echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
         exit 3
        ;;
esac

     (6)配置php.ini:

vi /usr/local/php7/etc/php.ini

 用xftp进入目录/usr/local/php7/lib/php/extensions/查看下面的文件名,比如我的是no-debug-non-zts-20180731
在php.ini中找到extension_dir = "./"修改为:
extension_dir = "/usr/local/php7/lib/php/extensions/no-debug-non-zts-20180731/"

     (7)添加变量:

echo -e '\nexport PATH=/usr/local/php7/bin:/usr/local/php7/sbin:$PATH\n' >> /etc/profile && source /etc/profile

     (8)配置php-fpm:

mkdir -p /var/log/php-fpm/ && mkdir -p /var/run/php-fpm && cd /var/run/ && chown -R root:root php-fpm

     (9)修改ssesion:

mkdir -p /var/lib/php/session
chown -R apache:apache /var/lib/php

     (10)设置开机启动:

chmod +x /etc/init.d/php-fpm
chkconfig --add php-fpm
chkconfig php-fpm on

      (11)启动php-fpm:

service php-fpm start

以上是安装PHP的全部内容。

七、配置Apache支持PHP

1、打开Apache配置

vi /etc/httpd/conf/httpd.conf

找到:DirectoryIndex index.html改为:DirectoryIndex index.html index.htm index.php
找到:AddType application/x-gzip .gz .tgz在该行下面添加:AddType application/x-httpd-php .php

2、访问主机通过虚拟机IP地址访问Apache主页查看是否打开phpinfo信息。

以上就是安装配置LAMP的全部内容了!