免费AWS EC2搭建LAMP安装wordpress(二)

在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

如未有此行,说明php安装不正确不能解析
在该位置添加此两行内容,注意“.”前有空格

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解析正常。

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部