在AWS EC2上安装好RedHad后,我们用putty远程登入系统之后即可把Apache、MySQL以及PHP安装在RedHad系统上,组成一个环境来运行PHP的脚本语言。Apache是最常用的Web服务软件,而MySQL是比较小型的数据库软件。
Apache安装和控制
1. Apache安装
检查是否安装gcc与gcc-c++ gcc -v 如显示“-bash: gcc: command not found”则需安装 yum -y install gcc gcc-c++ 下载httpd wget https://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.4.39.tar.gz 下载依赖 wget https://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-1.7.0.tar.gz wget https://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-util-1.6.1.tar.gz wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.40.tar.gz wget https://github.com/libexpat/libexpat/releases/download/R_2_0_1/expat-2.0.1.tar.gz 解压 // 根据自己实际包名解压 tar zxvf apr-1.7.0.tar.gz tar zxvf apr-util-1.6.1.tar.gz tar zxvf pcre-8.40.tar.gz tar zxvf expat-2.0.1.tar.gz tar zxvf httpd-2.4.39.tar.gz 安装依赖 安装apr cd apr-1.7.0 ./configure --prefix=/usr/local/apr make && make install --prefix=路径 表示安装地址 安装expat cd expat-2.0.1 ./configure make && make install 安装apr-util cd apr-util-1.6.1 ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr make && make install --without-名称=路径 表示不包含的 --with-名称=路径 表示包含 安装pcre cd pcre-8.40 ./configure --prefix=/usr/local/pcre make && make install 安装apache cd httpd-2.4.39 ./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre --enable-so --enable-rewrite make && make install --enable-so 将apache的其它模块设置为动态开启,如果不能动态开启,就需要重新安装了 --enable-rewrite 开启apache重写机制
2. Apache控制
启动apache // 启动 /usr/local/apache/bin/apachectl // 让文件在任意位置可调用 cp /usr/local/apache/bin/apachectl /etc/init.d/httpd // 现在任意位置即可调用httpd来 开启/关闭 apache // 关闭 service httpd stop // 开启 service httpd start // 重启 service httpd restart //查看运行状态 service httpd status 添加apache为系统服务(开机启动) chkconfig --add httpd chkconfig httpd on
3. 查看Apache工作状态
//重启RedHad系统后检查Apache是否运行正常 1.查看端口 首先要知道apache的端口,比如说80端口; 查看端口是否被开启和监听 netstat -an | grep :80 如果看到有*.*.*.*:80 lISTEN 说明正常 2.查看进程 ps -ef |grep httpd ps -aux | grep httpd 如果看到许多(一般是4到5个)输出就说明对了。 3.浏览器访问 浏览器输入IP后面冒号跟端口,系统防火墙及VPS相应端口必须打开 如:http://192.168.0.231:808/ 三个只要确定一个即可说明apache已经开启。
MySQL 安装配置
1. MySQL安装
//以当前目录为/home为例 下载mysql wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.43.tar.gz 安装依赖 yum -y install cmake ncurses ncurses-devel autoconf 解压 tar zxvf mysql-5.6.43.tar.gz 为mysql添加用户组 groupadd mysql useradd -r -g mysql mysql -s /sbin/nologin 安装MySQL cd /home/mysql-5.6.43 cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci make && make install -DCMAKE_INSTALL_PREFIX 指定mysql的安装地址 -DMYSQL_DATADIR 指定mysql的数据存储地址
2. 配置MySQL
cd /usr/local/mysql cp support-files/my-default.cnf /etc/my.cnf // 编辑 vi my.cnf // 修改my.cnf内容 [client] port = 3306 default-character-set=utf8 [mysqld] port = 3306 character_set_server=utf8 skip-external-locking key_buffer_size = 16M max_allowed_packet = 1M table_open_cache = 64 sort_buffer_size = 512K net_buffer_length = 8K read_buffer_size = 256K read_rnd_buffer_size = 512K myisam_sort_buffer_size = 8M socket =/usr/local/mysq/data/mysql/mysql.sock basedir=/usr/local/mysq/data/mysql/ datadir=/usr/local/mysq/data/mysql/data/ // 初始化数据 ./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/ // 任意位置启动/关闭mysql cp support-files/mysql.server /etc/init.d/mysqld //启动mysql service mysqld start //重启mysql service mysqld restart //停止mysql service mysqld stop //查看mysql状态 service mysqld stop //随系统开机启动 /sbin/chkconfig - - list /sbin/chkconfig add mysqld /sbin/chkconfig mysqld on // 设置root账号的密码 ./bin/mysqladmin -u root password 'youpassword' // 把mysql的相关文件 改为mysql组的mysql用户 chown -R mysql:mysql /usr/local/mysql chown mysql:mysql /etc/my.cnf
3. 查看MySQL工作状态
//重启RedHad系统后检查Mysql是否运行正常 1.使用service mysqld status 命令来查看mysql 的启动状态 如果是 mysqld is stopped 那就说明mysql服务是停止状态, 如果是 mysqld is running 那就说明mysql服务是启动状态 2.使用netstat -an |grep :3306 查看mysql端口是否被开启和监停,默认端口3306 如果有 TCP :3306 lISTEN 说明正常 3.使用命令chkconfig --list mysqld 命令来查看mysql 的启动状态 如果mysqld的服务没状态为off,说明mysql服务没有启动
PHP安装 配置
1. PHP安装
//以当前目当为home为例 下载php wget https://www.php.net/distributions/php-7.1.13.tar.gz 安装依赖 yum -y install jpeg8 gd libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel curl curl-devel openssl openssl-devel 安装php tar zxvf php-7.1.13.tar.gz cd /home/php-7.1.13 ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-apxs2=/usr/local/apache/bin/apxs --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-zlib --with-curl --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-openssl --enable-mbstring --enable-xml --enable-pdo --enable-mbstring=all --enable-mbregex --enable-shared make && make install //安装过程中出现错误的解决 在configure过程中遇到6个错误,如下: 错误1: configure: error: xml2-config not found. Please check your libxml2 installation. 解决办法: yum install -y libxml2-devel 错误2: configure: error: Cannot find OpenSSL's 解决办法: yum install -y openssl openssl-devel 错误3: configure: error: Please reinstall the BZip2 distribution 解决办法: yum install -y bzip2 bzip2-devel 错误4: configure: error: jpeglib.h not found. 解决办法: yum install -y libjpeg libjpeg-devel 错误5: configure: error: freetype-config not found. 解决办法: yum install -y freetype freetype-devel 错误6: configure: error: mcrypt.h not found. Please reinstall libmcrypt. 解决办法: yum install -y libmcrypt-devel 其中错误6,需要安装epel扩展yum源,安装方法如下: rpm -ivh "http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm" 安装PHP出现make: *** [sapi/cli/php] Error 1 解决办法: make ZEND_EXTRA_LIBS='-liconv' ln -s /usr/local/lib/libiconv.so.2 /usr/lib64/ //上面的错误都解决后就可以重新编译和安装了 make make install
2. PHP解析配置
1.添加apache与php交互配置修改
//编辑修改httpd.conf
vi /usr/local/apache/conf/httpd.conf
2.添加配置文件
// 拷贝配置文件到安装目录
cp ./php.ini-development /usr/local/php/etc/php.ini
3. 检查PHP解析是否成功
// 在/usr/local/apache/htdocs/添加一个test.php文件,内容为:<?php
phpinfo();
?>
重启apache,打开浏览器访问test.php
出现php版本及相关信息,说明 apache 服务正常,PHP解析正常。