VirtualBox下CentOS7.6安装MySQL5.7、Apache、PHP7.3并配置主机访问
先写个大纲,以后有时间或者有需要再进行再编辑吧!
一、安装VirtualBox
直接百度VirtualBox官网下载安装没问题。
二、安装CentOS7
也是官网下载CentOS镜像,然后默认安装就可以了,如果是搭建整个LNMP环境,建议分配大点空间,我给的是1G+15G,因为考虑到主机是四核八线程的处理器,所以分配了两个处理器。
CentOS分有界面和*面安装,虽然还是一样用终端和命令操作,但是有界面我用得顺手些,所以安装过程里我没有选择默认的最小安装,其余的哪里有叹号就点哪里,根据向导就可以完成安装。
三、设置网卡
使用的是网络地址转换(NAT)+桥接网络的方式。
网卡1
因为桥接网卡获取的IP不能上网(需要验证账号),因此网卡1负责联网,网卡2负责主机与虚拟机的连接。
网卡2选择为主机当前联网的网卡,主机上对应的网卡要在属性里安装VirtualBox的服务。
然后开启虚拟机CentOS,可以通过以下命令获得当前虚拟机网卡的IP地址等信息:
ifconfig
CentOS7.6最小安装默认是没有net-tools的,也就是说上面的命令还不能用,甚至连网卡都不是自启动的。
首先找到网卡配置目录:
cd /etc/sysconfig/network-scripts
使用ls命令查看当前目录下的所有文件,一般ifcfg-en***的文件是网卡配置,使用vi命令打开,按一个字母键进行输入修改,将ONBOOT项改为YES,Esc键退出编辑,Shift+":"输入wq保存退出,不保存退出是输入q:
重启网络服务:
service network restart
这时已经可以连网了,然后安装net-tools:
yum install net-tools
安装完成之后就可以使用ifconfig命令了这里分别是NAT网卡、桥接网卡、回环网卡,inet就是IP地址。
启动sshd服务:
service sshd start
利用IP地址和SSH可以在XShell、XFtp等工具中连接虚拟机进行操作,我这里使用桥接网卡进行连接,所以输入桥接网卡获得的IP地址,SSH默认端口号为22,然后输入CentOS的登录信息就可以连接进入CentOS。
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
必须有client、libs、common、server四个包。
3、通过XFtp上传到虚拟机CentOS。
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:
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的全部内容了!
上一篇: 弟弟
下一篇: 手把手教你使用VB来创建ASP组件(1)