RHEL7.9搭建LAMP架构

一、配置基本环境

  1. 配置DNS
    a. 挂载光盘
[root@trade02 /]# mkdir /media/cdrom
[root@trade02 /]# mount /dev/cdrom /media/cdrom/
mount: /dev/sr0 is write-protected, mounting read-only
[root@trade02 /]#

b. 配置光盘开机自动挂载

[root@trade02 ~]# vi /etc/fstab
/dev/mapper/rhel-root   /                       xfs     defaults        0 0
UUID=269bc60e-ec70-43f3-8e86-df700084f7c1 /boot xfs     defaults        0 0
/dev/mapper/rhel-swap   swap                    swap    defaults        0 0
/dev/cdrom              /media/cdrom            iso9660 defaults        0 0

c. 配置yum仓库

[root@trade02 ~]# vi /etc/yum.repos.d/rhel7.repo
[rhel7]
name=rhel7
baseurl=file:///media/cdrom
gpgcheck=0
enabled=1

d. 安装bind软件

[root@trade02 ~]# yum -y install bind*
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-
              : manager

This system is not registered with an entitlement server. You can use subscripti                                                                                                                                                             on-manager to register.

rhel7                                                    | 2.8 kB     00:00
(1/2): rhel7/group                                         | 628 kB   00:00
(2/2): rhel7/primary                                       | 2.1 MB   00:00
rhel7                                                                 5230/5230
Package 32:bind-export-libs-9.11.4-26.P2.el7.x86_64 already installed and latest                                                                                                                                                              version
Package 32:bind-libs-9.11.4-26.P2.el7.x86_64 already installed and latest versio                                                                                                                                                             n
Package 32:bind-utils-9.11.4-26.P2.el7.x86_64 already installed and latest versi                                                                                                                                                             on
Package 32:bind-license-9.11.4-26.P2.el7.noarch already installed and latest ver                                                                                                                                                             sion
Package 32:bind-libs-lite-9.11.4-26.P2.el7.x86_64 already installed and latest v                                                                                                                                                             ersion
Resolving Dependencies
--> Running transaction check
---> Package bind.x86_64 32:9.11.4-26.P2.el7 will be installed
--> Processing Dependency: python-ply for package: 32:bind-9.11.4-26.P2.el7.x86_                                                                                                                                                             64
---> Package bind-chroot.x86_64 32:9.11.4-26.P2.el7 will be installed
---> Package bind-dyndb-ldap.x86_64 0:11.1-7.el7 will be installed
---> Package bind-pkcs11.x86_64 32:9.11.4-26.P2.el7 will be installed
---> Package bind-pkcs11-libs.x86_64 32:9.11.4-26.P2.el7 will be installed
---> Package bind-pkcs11-utils.x86_64 32:9.11.4-26.P2.el7 will be installed
--> Running transaction check
---> Package python-ply.noarch 0:3.4-11.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package                Arch        Version                    Repository  Size
================================================================================
Installing:
 bind                   x86_64      32:9.11.4-26.P2.el7        rhel7      2.3 M
 bind-chroot            x86_64      32:9.11.4-26.P2.el7        rhel7       92 k
 bind-dyndb-ldap        x86_64      11.1-7.el7                 rhel7      121 k
 bind-pkcs11            x86_64      32:9.11.4-26.P2.el7        rhel7      361 k
 bind-pkcs11-libs       x86_64      32:9.11.4-26.P2.el7        rhel7      1.1 M
 bind-pkcs11-utils      x86_64      32:9.11.4-26.P2.el7        rhel7      208 k
Installing for dependencies:
 python-ply             noarch      3.4-11.el7                 rhel7      123 k

Transaction Summary
================================================================================
Install  6 Packages (+1 Dependent package)

Total download size: 4.3 M
Installed size: 10 M
Downloading packages:
--------------------------------------------------------------------------------
Total                                              123 MB/s | 4.3 MB  00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : 32:bind-pkcs11-libs-9.11.4-26.P2.el7.x86_64                  1/7
  Installing : 32:bind-pkcs11-utils-9.11.4-26.P2.el7.x86_64                 2/7
  Installing : python-ply-3.4-11.el7.noarch                                 3/7
  Installing : 32:bind-9.11.4-26.P2.el7.x86_64                              4/7
  Installing : 32:bind-pkcs11-9.11.4-26.P2.el7.x86_64                       5/7
  Installing : bind-dyndb-ldap-11.1-7.el7.x86_64                            6/7
  Installing : 32:bind-chroot-9.11.4-26.P2.el7.x86_64                       7/7
  Verifying  : 32:bind-chroot-9.11.4-26.P2.el7.x86_64                       1/7
  Verifying  : python-ply-3.4-11.el7.noarch                                 2/7
  Verifying  : bind-dyndb-ldap-11.1-7.el7.x86_64                            3/7
  Verifying  : 32:bind-pkcs11-libs-9.11.4-26.P2.el7.x86_64                  4/7
  Verifying  : 32:bind-9.11.4-26.P2.el7.x86_64                              5/7
  Verifying  : 32:bind-pkcs11-utils-9.11.4-26.P2.el7.x86_64                 6/7
  Verifying  : 32:bind-pkcs11-9.11.4-26.P2.el7.x86_64                       7/7
rhel7/productid                                          | 1.6 kB     00:00

Installed:
  bind.x86_64 32:9.11.4-26.P2.el7
  bind-chroot.x86_64 32:9.11.4-26.P2.el7
  bind-dyndb-ldap.x86_64 0:11.1-7.el7
  bind-pkcs11.x86_64 32:9.11.4-26.P2.el7
  bind-pkcs11-libs.x86_64 32:9.11.4-26.P2.el7
  bind-pkcs11-utils.x86_64 32:9.11.4-26.P2.el7

Dependency Installed:
  python-ply.noarch 0:3.4-11.el7

Complete!
[root@trade02 ~]#

e. 编辑named.conf配置文件

[root@trade02 ~]# vi /etc/named.conf
options {
        listen-on port 53 { ***any***; };
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { ***any***; };
        }

f. 编辑named.rfc1912.zones配置文件

[root@trade02 ~]# vi /etc/named.rfc1912.zones
zone "tradeprobe.com" IN {
        type master;
        file "tradeprobe.localhost";
        allow-update { none; };
};

zone "117.168.192.in-addr.arpa" IN {
        type master;
        file "tradeprobe.loopback";
        allow-update { none; };
};

g. 编辑tradeprobe.localhost和tradeprobe.loopback配置文件,即正向解析配置文件和反向解析配置文件

//复制named配置文件
[root@trade02 ~]# cp -a /var/named/named.localhost /var/named/tradeprobe.localhost
[root@trade02 ~]# cp -a /var/named/named.loopback /var/named/tradeprobe.loopback
[root@trade02 ~]#
//编辑正向解析配置文件
[root@trade02 named]# vi tradeprobe.localhost
$TTL 1D
@       IN SOA  tradeprobe.com. rname.invalid. (
                                        1       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns.tradeprobe.com.
dns     IN A    192.168.117.30
www     IN A    192.168.117.30
        AAAA    ::1

//编辑反向解析配置文件
[root@trade02 named]# vi tradeprobe.loopback
$TTL 1D
@       IN SOA  tradeprobe.com. rname.invalid. (
                                        1       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns.tradeprobe.com.
dns     A       192.168.117.30
        AAAA    ::1
30      PTR     dns.tradeprobe.com.
30      PTR     www.tradeprobe.com.

启动named服务

[root@trade02 named]# systemctl start named
//设置开机自动启动服务
[root@trade02 named]# systemctl enable named
Created symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.
//验证正向解析
[root@trade02 named]# nslookup www.tradeprobe.com
Server:         192.168.117.30
Address:        192.168.117.30#53

Name:   www.tradeprobe.com
Address: 192.168.117.30
Name:   www.tradeprobe.com
Address: ::1
//验证反向解析
[root@trade02 named]# nslookup 192.168.117.30
30.117.168.192.in-addr.arpa     name = www.tradeprobe.com.
30.117.168.192.in-addr.arpa     name = dns.tradeprobe.com.
[root@trade02 named]#
  1. 关闭SELinux和防火墙
//关闭SELinux
[root@trade02 named]# vi /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
# 将enforcing更改成disabled
SELINUX=**disabled**
# SELINUXTYPE= can take one of three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

//停止防火墙,并禁止开机自启动
[root@trade02 named]# systemctl stop firewalld.service
[root@trade02 named]# systemctl disable firewalld.service
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@trade02 named]#
  1. 安装gcc、gcc-c++、make等编译工具
[root@trade02 named]# yum -y install gcc gcc-c++ make
  1. 编辑tar.sh脚本,使tar文件可以批量解压
[root@trade02 ~]# vi tar.sh
#! /bin/bash
cd ~/Downloads/
ls *.tar.* >> list.txt
for TAR in `cat list.txt`
do
   tar -xf $TAR -C /usr/local/src
done
rm -rf list.txt
[root@trade02 ~]# chmod 755 tar.sh

二、编译安装

  1. 安装libxml2
[root@trade02 ~]# yum -y install libxml2* python-devel
  1. 安装libmcrypt
[root@trade02 src]# cd libmcrypt-2.5.8/
[root@trade02 libmcrypt-2.5.8]# ./configure --prefix=/usr/local/libmcrypt/ ; make ; make install

安装libltdl,也在libmcrypt源码目录中

[root@trade02 libmcrypt-2.5.8]# cd libltdl/
[root@trade02 libltdl]# ./configure --enable-ltdl-install ; make ; make install
  1. 安装mhash
[root@trade02 src]# cd mhash-0.9.9.9/
[root@trade02 mhash-0.9.9.9]# ./configure ; make ; make install
  1. 安装mcrypt
[root@trade02 src]# cd mcrypt-2.6.8/
[root@trade02 mcrypt-2.6.8]# export LD_LIBRARY_PATH=/usr/local/libmcrypt/lib:/usr/local/lib
[root@trade02 mcrypt-2.6.8]# ./configure --with-libmcrypt-prefix=/usr/local/libmcrypt ; make ; make install
  1. 安装zlib
//系统自带安装
[root@trade02 src]# rpm -qa zlib*
zlib-1.2.7-18.el7.x86_64
zlib-devel-1.2.7-18.el7.x86_64
  1. 安装libpng
[root@trade02 src]# yum -y install libpng*
  1. 安装jpeg6
[root@trade02 src]# mkdir /usr/local/jpeg6
[root@trade02 src]# mkdir /usr/local/jpeg6/bin
[root@trade02 src]# mkdir /usr/local/jpeg6/lib
[root@trade02 src]# mkdir /usr/local/jpeg6/include
[root@trade02 src]# mkdir -p /usr/local/jpeg6/man/man1
//注意:此软件默认不会创建所需目录
[root@trade02 src]# yum -y install libtool*
[root@trade02 src]# cd jpeg-6b/
[root@trade02 jpeg-6b]# cp -a /usr/share/libtool/config/config.sub ./
cp: overwrite ‘./config.sub’? y
[root@trade02 jpeg-6b]# cp -a /usr/share/libtool/config/config.guess ./
cp: overwrite ‘./config.guess’? y
***// 复制libtool中的文件,覆盖jpeg-6中的文件(64位中的问题)***
[root@trade02 jpeg-6b]# ./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static ; make ; make install
  1. 安装freetype
[root@trade02 src]# cd freetype-2.10.4/
[root@trade02 freetype-2.10.4]# ./configure --prefix=/usr/local/freetype/ ; make ; make install
  1. 安装Apache
    A. 源码包2.4.*版本中默认没有集成apr的依赖包,所以需要提前解决依赖问题
[root@trade02 src]# cp -a apr-1.7.0 httpd-2.4.53/srclib/apr
[root@trade02 src]# cp -a apr-util-1.6.1 httpd-2.4.53/srclib/apr-util

B. Apache默认需要依赖pcre软件,但由于Apache软件版本较高,则系统预安装的pcre无法使用,所以需要人为手动安装适合版本

[root@trade02 src]# cd pcre-8.42/
[root@trade02 pcre-8.42]# ./configure ; make ; make install

C. Apache的加密传输模块mod_ssl,需要安装此软件产生

[root@trade02 pcre-8.42]# yum -y install openssl-devel

D. httpd软件安装

[root@trade02 src]# cd httpd-2.4.53/
[root@trade02 httpd-2.4.53]# ./configure --prefix=/usr/local/apache2 --sysconfdir=/usr/local/apache2/etc --with-included-apr --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --enable-ssl ; make ; make install
// 安装时报错,expat找不到文件或目录
[root@trade02 httpd-2.4.53]# cd expat-2.0.1/
[root@trade02 expat-2.0.1]# ./configure ; make ; make install
// 安装完后,再次编译安装httpd软件

E. 配置httpd.conf文件

[root@trade02 etc]# vi httpd.conf
193 # If your host doesn't have a registered DNS name, enter its IP address here    .
194 #
195 ServerName localhost:80
//

F. 启动Apache测试

[root@trade02 etc]# /usr/local/apache2/bin/apachectl start
// 使用进程查看命令确认Apache是否启动,是否产生进程
[root@trade02 etc]# ps aux | grep httpd
root     102072  0.0  0.0  70792  2244 ?        Ss   19:11   0:00 /usr/local/apache2/bin/httpd -k start
daemon   102073  0.0  0.1 361840  4232 ?        Sl   19:11   0:00 /usr/local/apache2/bin/httpd -k start
daemon   102074  0.0  0.1 361840  4232 ?        Sl   19:11   0:00 /usr/local/apache2/bin/httpd -k start
daemon   102075  0.0  0.1 361840  4232 ?        Sl   19:11   0:00 /usr/local/apache2/bin/httpd -k start
root     102158  0.0  0.0 110376   896 pts/0    R+   19:12   0:00 grep --color=auto httpd
//使用网络进程查看命令确认Apache是否启动成功,是否开启了80监听端口。
[root@trade02 etc]# netstat -tlnu | grep :80
tcp6       0      0 :::80                   :::*                    LISTEN
[root@trade02 etc]#
  1. 安装ncurses
[root@trade02 etc]# yum -y install ncurses*

若不安装ncurses编译MySQL时会报错
11. 安装cmake和bison

[root@trade02 etc]# yum -y install cmake bison
  1. 安装MySQL
    A. 为MySQL软件创建运行用户,创建为系统用户,并限制此用户登录操作系统
[root@trade02 etc]# useradd -r -s /sbin/nologin mysql

B. 安装MySQL

[root@trade02 etc]# cd mysql-5.5.62/
[root@trade02 mysql-5.5.62]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306
[root@trade02 mysql-5.5.62]# make
[root@trade02 mysql-5.5.62]# make install

C. 修改MySQL目录的用户归属

[root@trade02 mysql-5.5.62]# cd /usr/local/mysql/
[root@trade02 mysql-5.5.62]# chown -R mysql:mysql /usr/local/mysql/
[root@trade02 mysql]# chown -R mysql data

D. 生成配置文件,并初始化授权表

//复制MySQL配置文件到指定位置,覆盖掉系统自带文件
[root@trade02 mysql]# cp -a /usr/local/src/mysql-5.5.62/support-files/my-medium.cnf /etc/my.cnf
cp: overwrite ‘/etc/my.cnf’? y
// 创建数据库授权表,初始化数据库,相当于安装完操作系统的引导设置(添加第一个用户)
[root@trade02 mysql]# ./scripts/mysql_install_db --user=mysql

E.将MySQL 加入到PATH变量中可就方便太多了

[root@trade02 mysql]# vi ~/.bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin:/usr/local/mysql/bin

export PATH
//使环境变量生效
[root@trade02 mysql]# source ~/.bash_profile

F. 启动MySQL服务

[root@trade02 mysql]# cp -a support-files/mysql.server /etc/init.d/
[root@trade02 mysql]# chmod a+x /etc/init.d/mysql.server
[root@trade02 mysql]# /etc/init.d/mysql.server start
Starting MySQL.Logging to '/usr/local/mysql/data/trade02.err'.
. SUCCESS!
[root@trade02 mysql]#

G. 设定MySQL密码

[root@trade02 mysql]# /usr/local/mysql/bin/mysqladmin -uroot password justin19861004

H. 登录MySQL

[root@trade02 mysql]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.5.62-log Source distribution

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.00 sec)
mysql> use test;
Database changed
mysql> show tables;
Empty set (0.00 sec)

mysql> exit
Bye
[root@trade02 mysql]#

13 安装PHP

[root@trade02 mysql]# cd /usr/local/src/php-7.3.5/
[root@trade02 php-7.3.5]# ./configure --prefix=/usr/local/php/ --with-config-file-path=/usr/local/php/etc/ --with-apxs2=/usr/local/apache2/bin/apxs --with-jpeg-dir=/usr/local/jpeg6/ --with-mcrypt=/usr/local/libmcrypt/ --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-soap --enable-mbstring=all --enable-sockets --with-pdo-mysql=/usr/local/mysql --with-gd --without-pear
[root@trade02 php-7.3.5]# make
[root@trade02 php-7.3.5]# make install

A. 将生成的php服务配置文件复制到安装目录,让其生效。

[root@trade02 php-7.3.5]# cp php.ini-development /usr/local/php/lib/php.ini

B. 需要php-fpm配置文件,在/usr/local/php/etc/目录中也已经提供,只需复制模板即可

[root@trade02 php-7.3.5]# cd /usr/local/php/etc/
[root@trade02 etc]# mv php-fpm.conf.default php-fpm.conf

C. 复制一个模板文件到php-fpm.d的目录中,用于后续控制网站的连接性能:

[root@trade02 etc]# mv php-fpm.d/www.conf.default php-fpm.d/www.conf

D. 把php服务加入到启动项中,使其重启后依然生效:

[root@trade02 etc]# cd /usr/local/src/php-7.3.5/
[root@trade02 php-7.3.5]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[root@trade02 php-7.3.5]# chmod 755 /etc/init.d/php-fpm

E. 由于php服务程序的配置参数会对Web服务的运行环境造成影响,如果默认开启了一些不必要且高危的功能(如允许用户在网页中执行Linux命令),则会降低网站被入侵的难度,甚至会让入侵人员拿到整台Web服务器的管理权限。因此需要编辑php.ini配置文件,在第310行的disable_functions参数后面追加上要禁止的功能。下面的禁用功能名单是刘遄老师依据本书配套站点的运行经验而定制的,不见得适合每个生产环境,建议大家在此基础上根据自身工作需求酌情删减:

 [root@trade02 php-7.3.5]# vi /usr/local/php/lib/php.ini
 310 disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,proc     _open,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,readlin     k,symlink,popepassthru,stream_socket_server

F. 启动PHP

[root@trade02 php-7.3.5]# /etc/init.d/php-fpm start
Starting php-fpm  done
[root@trade02 php-7.3.5]#

G. 修改Apache配置文件,使其识别*.php文件,并能通过php模块调用php进行页面解析

[root@trade02 php-7.3.5]# vi /usr/local/apache2/etc/httpd.conf
388     # probably should define those extensions to indicate media types:
389     #
390     AddType application/x-compress .Z
391     AddType application/x-gzip .gz .tgz
392
393     AddType application/x-httpd-php .php .phtml
394     AddType application/x-httpd-php-source .phps
395
396     #
//重启Apache服务
[root@trade02 php-7.3.5]# /etc/init.d/apachectl stop
[root@trade02 php-7.3.5]# /etc/init.d/apachectl start

H. 测试php页面是否可以正常解析(即apache和php连通性)

[root@trade02 php-7.3.5]# vi /usr/local/apache2/htdocs/test.php
<?php
        phpinfo();
?>

在这里插入图片描述
14. 为PHP安装openssl模块

[root@trade02 php-7.3.5]# cd ext/openssl/
[root@trade02 openssl]# mv config0.m4 config.m4
[root@trade02 openssl]# /usr/local/php/bin/phpize
Configuring for:
PHP Api Version:         20180731
Zend Module Api No:      20180731
Zend Extension Api No:   320180731
[root@trade02 openssl]# ./configure --with-openssl --with-php-config=/usr/local/php/bin/php-config
[root@trade02 openssl]# make
[root@trade02 openssl]# make install
  1. 为PHP安装memcache模块
[root@trade02 Downloads]# unzip NON_BLOCKING_IO_php7.zip
[root@trade02 Downloads]# cd pecl-memcache-NON_BLOCKING_IO_php7/
[root@trade02 pecl-memcache-NON_BLOCKING_IO_php7]# /usr/local/php/bin/phpize
Configuring for:
PHP Api Version:         20180731
Zend Module Api No:      20180731
Zend Extension Api No:   320180731
[root@trade02 pecl-memcache-NON_BLOCKING_IO_php7]# ./configure --with-php-config=/usr/local/php/bin/php-config
[root@trade02 pecl-memcache-NON_BLOCKING_IO_php7]# make
[root@trade02 pecl-memcache-NON_BLOCKING_IO_php7]# make install
  1. 修改php配置文件,使其识别并调用openssl和memcache两个模块
[root@trade02 no-debug-zts-20180731]# vi /usr/local/php/etc/php.ini
 757 ; http://php.net/extension-dir
 758 extension_dir = "/usr/local/php/lib/php/extensions/no-debug-zts-20180731"
 759
 // 大约在配置文件的758行,取消“;”注释,并添加以上路径(此路径来自于模块安装命令的结果)
 760 extension="openssl.so";
 761 extension="memcache.so";
 762 ; On windows:
 763 ;extension_dir = "ext"
 764
// 添加以上两个库文件的调用

重启apache,刷新phpinfo页面,并查看是否有两个新增的模块

[root@trade02 no-debug-zts-20180731]# /etc/init.d/apachectl stop
[root@trade02 no-debug-zts-20180731]# /etc/init.d/apachectl start
  1. 安装memcached服务
[root@trade02 Downloads]# rpm -ivh libevent-2.0.21-4.el7.x86_64.rpm
[root@trade02 Downloads]# rpm -ivh libevent-devel-2.0.21-4.el7.x86_64.rpm
[root@trade02 Downloads]# cd /usr/local/src/memcached-1.6.16/
[root@trade02 memcached-1.6.16]# ./configure --prefix=/usr/local/memcache
[root@trade02 memcached-1.6.16]# make
[root@trade02 memcached-1.6.16]# make install
// 添加memcache用户,此用户不用登录,不设置密码
[root@trade02 memcached-1.6.16]# useradd -r -s /sbin/nologin memcache
// 启动memcache服务,并设置为后台运行
[root@trade02 memcached-1.6.16]# /usr/local/memcache/bin/memcached -umemcache &
[1] 42839
// 检查memcache是否正常启动,并监听了11211端口
[root@trade02 memcached-1.6.16]# netstat -an | grep :11211
tcp        0      0 0.0.0.0:11211           0.0.0.0:*               LISTEN
tcp6       0      0 :::11211                :::*                    LISTEN
[root@trade02 memcached-1.6.16]#
  1. 安装phpMyAdmin
//复制phpMyAdmin目录到Apache安装目录下
[root@trade02 memcached-1.6.16]# cp -a /usr/local/src/phpMyAdmin-4.9.10-all-languages /usr/local/apache2/htdocs/phpmyadmin
[root@trade02 memcached-1.6.16]# cd /usr/local/apache2/htdocs/phpmyadmin/
[root@trade02 phpmyadmin]# cp -a config.sample.inc.php config.inc.php
// 编辑配置文件
[root@trade02 phpmyadmin]# vi config.inc.php
 28 /* Authentication type */
 29 $cfg['Servers'][$i]['auth_type'] = 'cookie';
 30 $cfg['Servers'][$i]['auth_type'] = 'http';
// 大约在配置文件的29行作用
// 设置auth_typ为http,即设置为HTTP身份认证模式(新增即可)

通过浏览器输入地址访问:http://Apache服务器地址/phpmyadmin/index.php
在这里插入图片描述
19. 设置Apache、MySQL、PHP和Memcache开机自启动

[root@trade02 ~]# vi /etc/rc.local
/etc/init.d/apachectl start
/etc/init.d/mysql.server start
/etc/init.d/php-fpm start
/usr/local/memcache/bin/memcached -umemcache &

// 在文件的末尾添加以上四行内容
// 更改文件权限
[root@trade02 ~]# chmod a+x /etc/rc.d/rc.local

至此,LAMP架构的网站就部署好了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值