准备:
软件
VMware15.5pro
centos7.2镜像
xshell
安装包
httpd-2.4.33.tar.gz
apr-1.5.1.tar.gz
apr-util-1.5.4.tar.gz
mysql-5.6.47-linux-glibc2.12-x86_64.tar.gz
php-5.6.39.tar.bz2
一、基本环境准备
创建一台最小化 centos7.2虚拟机
1、配置网络
这里选择使用net模式
# 配置网卡 # vi /etc/sysconfig/network-scripts/ifcfg-eno BOOTPROTO=static ONBOOT=yes IPADDR=192.168.200.155 PREFIX=255.255.255.0 GATEWAY=192.168.200.2 DNS1=114.114.114.114 # service network restart # ping www.baidu.com # 如果可以ping通即可2、关闭防火墙
[root@localhost ~]# systemctl stop firewalld [root@localhost ~]# systemctl disable firewalld Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service. Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service. [root@localhost ~]# setenforce 0 [root@localhost ~]# vi /etc/selinux/config # 将SELINUX=enforce改成SELINUX=disabled3、安装一些常用工具
因为是最小化安装的centos,所以这里需要安装一些常用工具(命令)。
yum install -y vim gcc net-tools tree # vim 是vi编译器的升级版 gcc 是编译二进制源码包需要 # net-tools 自带两个命令 (ifconfig 查看网络)和(netstat 查看端口占用情况) # tree 以树状形式查看目录结构。4、上传安装包
上传安装包至 /opt 目录下
这里有两种方法:一个是使用xftp 从windos本地上传,二是使用wget (这里附带一个下载源码包的地址:https://aminglinux.coding.net/public/resource/resource/git/files)二、安装
1、MySQL安装
# 1、解压
tar -zxvf mysql-5.6.47-linux-glibc2.12-x86_64.tar.gz mv mysql-5.6.47-linux-glibc2.12-x86_64 /usr/local/mysql# 2、创建MySQL用户
useradd -s /sbin/nologin mysql# 3、初始化
mkdir -p /data/mysql #创建MySQL数据存储目录 chown -R mysql:mysql /data/mysql #更改权限# 4、安装
yum install -y perl-Module-Install #安装脚本执行环境perl ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql #--user 指定MySQL用户 ---datadir 指定数据存放目录# 5、配置
# 修改配置文件: cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf vim /etc/my.cnf # 主要是修改basedir 和datadir basedir = /usr/local/mysql datadir = /data/mysql port = 3306 server_id = 50 socket = /tmp/mysql.sock #basedir 设置MySQL安装的目录 #datadir MySQL数据存放的目录 # port mysql的端口号 #server_id 一般是集群的时候需要,一般设置为ip地址最后一位 # socket# 5.2修改启动脚本
[root@localhost mysql]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld [root@localhost mysql]# vim /etc/init.d/mysqld basedir=/usr/local/mysql datadir=/data/mysql# 5.3 启动MySQL,设置开机自启
[root@localhost mysql]# service mysqld start Starting MySQL.Logging to /data/mysql/localhost.localdomain.err. ..... SUCCESS! [root@localhost mysql]# chkconfig --add mysqld [root@localhost mysql]# chkconfig mysqld on # 查看服务是否启动。 MySQL 3306端口 [root@localhost mysql]# netstat -ntlp 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:22 0.0.0.0:* LISTEN 1463/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2620/master tcp6 0 0 :::3306 :::* LISTEN 3114/mysqld tcp6 0 0 :::22 :::* LISTEN 1463/sshd tcp6 0 0 ::1:25 :::* LISTEN 2620/master2、源码安装apache
1、apache介绍
Apache(音译为阿帕奇)是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。现在服务改名为httpd。
2、解压
# 解压 [root@localhost opt]# tar -zxvf httpd-2.4.33.tar.gz [root@localhost opt]# tar -zxvf apr-1.5.1.tar.gz [root@localhost opt]# tar -zxvf apr-util-1.5.4.tar.gz [root@localhost opt]# ls apr-1.5.1 httpd-2.4.33 apr-1.5.1.tar.gz httpd-2.4.33.tar.gz apr-util-1.5.4 mysql-5.6.47-linux-glibc2.12-x86_64.tar.gz apr-util-1.5.4.tar.gz phpredis-develop.zip2、编译安装
apr和apr-util可以理解为一个通用的函数库,主要是为上层应用提供支持。在这里httpd是依赖apr和apr-util的,如果不安装这两个东西,httpd就无法工作。先来安装apr和apr-util。
# 安装apr cd apr-1.5.1 ./configure --prefix=/usr/local/apr make && make install # 检查编译安装结果是否正确 如果输出是0就代表运行正确。 [root@localhost apr-1.5.1]# echo $? 0 # 安装apr-util [root@localhost apr-util-1.5.4]#./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr [root@localhost apr-util-1.5.4]# make && make install [root@localhost apr-util-1.5.4]# echo $? 0 # 如果有依赖之类的报错,就安装这些依赖 [root@localhost apr-1.5.1]# yum install -y libtool pcre -devel [root@localhost apr-1.5.1]# cd ../httpd-2.4.33 [root@localhost httpd-2.4.33]# ./configure --prefix=/usr/local/apache2.4 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-so --enable-mods-shared=most [root@localhost httpd-2.4.33]# make && make install # 查看加载了哪些模块 [root@localhost httpd-2.4.33]# /usr/local/apache2.4/bin/httpd -M AH00558: httpd: Could not reliably determine the servers fully qualified domain name, using localhost.localdomain. Set the ServerName directive globally to suppress this message Loaded Modules: core_module (static) so_module (static) http_module (static) mpm_event_module (static) authn_file_module (shared) authn_core_module (shared) authz_host_module (shared) authz_groupfile_module (shared) authz_user_module (shared) authz_core_module (shared) access_compat_module (shared) auth_basic_module (shared) reqtimeout_module (shared) filter_module (shared) mime_module (shared) log_config_module (shared) env_module (shared) headers_module (shared) setenvif_module (shared) version_module (shared) unixd_module (shared) status_module (shared) autoindex_module (shared) dir_module (shared) alias_module (shared)3、安装PHP
1、PHP介绍
PHP(Pre Hypertext Preprocessor)即“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。 PHP脚本程序主要应用于Web服务端开发,命令行和编写桌面应用程序。PHP支持和所有web开发语言之间的WDDX复杂数据交换。关于相互连接,PHP 已经支持了对Java对象的即时连接,并且可以透明地将其用作PHP对象。
特点:开源免费、快捷高效、拓展性强。
2、编译安装
解压:
[root@localhost opt]# tar jxvf php-5.6.39.tar.bz2 [root@localhost opt]# cd php-5.6.39 [root@localhost php-5.6.39]# yum install -y libxml2-devel openssl openssl-devel bzip2 bzip2-devel libpng libpng-devel freetype freetype-devel epel-release libmcrypt-devel [root@localhost php-5.6.39]# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2.4/bin/apxs --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-libxml-dir--with-gd --with-jpeg-dir --with-png-dir--with-freetype-dir --with-iconv-dir--with-zlib-dir --with-bz2 --with-openssl--with-mcrypt --enable-soap--enable-gd-native-ttf --enable-mbstring--enable-sockets --enable-exif [root@localhost php-5.6.39]# make && make install [root@localhost php-5.6.39]# cp php.ini-production /usr/local/php/etc/php.ini4、配置httpd支持PHP
1、修改配置文档
[root@localhost php-5.6.39]# vim /usr/local/apache2.4/conf/httpd.conf //编辑httpd的主配置文件 ①、搜索ServerName,把ServerName www.example.com:80前#去掉; ②、<Directory /> AllowOverride none Require all denied </Directory> 改成: <Directory /> AllowOverride none Require all granted </Directory> //目的允许所有请求访问 ③、搜索AddType application/x-gzip .gz .tgz, 在下面添加一行 AddType application/x-httpd-php .php ④、<IfModule dir_module> DirectoryIndex index.html </IfModule> 改成: <IfModule dir_module> DirectoryIndex index.html index.php </IfModule>2、测试apache服务
# 显示Syntax OK即可代表配置成功、如果没有显示这个,代表配置错误,继续配置 [root@localhost php-5.6.39]# /usr/local/apache2.4/bin/apachectl -t Syntax OK # 启动服务 [root@localhost php-5.6.39]# /usr/local/apache2.4/bin/apachectl start # 有httpd服务占用80即可 [root@localhost php-5.6.39]# netstat -ntlp |grep httpd tcp6 0 0 :::80 :::* LISTEN /httpd [root@localhost php-5.6.39]# curl localhost <html><body><h1>It works!</h1></body></html>netstat -ntlp
3、测试PHP解析是否正常
[root@localhost php-5.6.39]# vim /usr/local/apache2.4/htdocs/1.php <?php echo "PHP解析正常" ?> [root@localhost php-5.6.39]# curl localhost/1.php PHP解析正常至此 LAMP环境搭建完成~