第一部分 准备工作

一:服务器:Linux系统—CentOS 7.6;

[root@SH1 ~]# lsb_release -a [root@SH1 ~]# uname -r

CentOS 7.6安装LAMP - 图1

二:下载压缩包

http://httpd.apache.org/download.cgi //http压缩包
http://apr.apache.org/download.cgi //http插件包
http://mirrors.sohu.com/mysql/ //mysql压缩包
http://www.php.net/downloads.php //PHP压缩包
https://www.phpmyadmin.net/ //PHPMyAdmin压缩包

三:将防火墙与selinux关闭

关闭防火墙

  1. [root@SH1 opt]# systemctl status firewalld


CentOS 7.6安装LAMP - 图2

第二部分 安装Apache服务

一:安装编译工具与插件

  1. yum -y install gcc gcc-c++ make pcre-devel expat-devel perl

二:解压:

  1. tar -xzvf apr-1.7.0.tar.gz
  2. tar -xzvf apr-util-1.6.1.tar.gz
  3. tar -xzvf httpd-2.4.43.tar.gz
  4. //将插件放入httpd目录下
  5. mv apr-1.7.0 httpd-2.4.43/srclib/apr
  6. mv apr-util-1.6.1 httpd-2.4.43/srclib/apr-util

三:配置(自定义个性化配置)

  1. cd httpd-2.4.43 #必须进入httpd-2.4.43安装目录
  2. ./configure \
  3. --prefix=/usr/local/httpd \
  4. --enable-so \
  5. --enable-rewrite \
  6. --enable-charset-lite \
  7. --enable-cgi
  8. //个位置参数及注释
  9. ./configure \
  10. --prefix=/usr/local/httpd \ //指定将httpd程序安装到/usr/local/httpd目录下
  11. --enable-so \ //启用动态加载模块功能
  12. --enable-rewrite \ //启用网页地址重写功能,用于网站优化及目录迁移
  13. --enable-charset-lite \ //启用字符集支持,以便支持使用各种字符集编码的网页
  14. --enable-cgi //启用CGI脚本程序支持,便于扩展网站的应用访问能力

四:编译及安装

  1. make && make install
  2. //将httpd服务添加到系统服务
  3. cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
  4. vi /etc/init.d/httpd
  5. //添加以下两行(注意,“#”不能省略):
  6. chkconfig: 35 85 21
  7. description:Apache is World Wide Web server

CentOS 7.6安装LAMP - 图3

  1. :wq //保存退出
  2. chkconfig --add httpd //将httpd加入到SERVICE管理器
  3. systemctl daemon-reload //重载系统系统管理器

五:编辑httpd主配置文件

  1. vi /usr/local/httpd/conf/httpd.conf
  2. 修改以下内容(:80可省略):
  3. ServerName www.aa.com
  4. 保存退出

CentOS 7.6安装LAMP - 图4

  1. //优化执行路径(执行程序文件的原路径不在PATH环境变量中,做个软链接使其可以执行)
  2. ln -s /usr/local/httpd/conf/httpd.conf /etc/
  3. ln -s /usr/local/httpd/bin/* /usr/local/bin/
  4. //可添加环境变量写入/etc/profile 文件中
  5. PATH=/usr/local/httpd/conf/httpd.conf:/usr/local/httpd/bin/
  6. //检查语法错误(这两个都可以)
  7. httpd t
  8. apachectl t

CentOS 7.6安装LAMP - 图5
//查看程序版本

  1. httpd -V

CentOS 7.6安装LAMP - 图6

六:启动服务

  1. systemctl start httpd
  2. systemctl enable httpd //将httpd设为开机启动
  3. netstat -anpt | grep 80 //查看httpd服务运行状态


CentOS 7.6安装LAMP - 图7

七:验证

用客户端访问服务器
浏览器访问http://119.3..*
image.png

第三部分 安装MySQL服务

一:安装编译工具与插件

  1. yum -y install ncurses ncurses-devel bison cmake

二:建立数据库程序用户

  1. 创建目录
  2. mkdir -p /data/mysql/data
  3. 添加用户
  4. useradd -s /sbin/nologin mysql

三:解压mysql安装包

  1. tar -xzvf mysql-boost-5.7.25.tar.gz
  2. cd /opt/mysql-5.7.20/

CentOS 7.6安装LAMP - 图9
如果没有boot安装,并报错

  1. 解决办法是:
  2. 1.在/usr/local下创建一个名为boost的文件夹
  3. mkdir -p /usr/local/boost
  4. 2.进入这个新创建的文件夹然后下载boost
  5. wget http://www.sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
  6. 3.解压
  7. tar -xvzf boost_1_59_0.tar.gz

CentOS 7.6安装LAMP - 图10

四.继续cmake,添加上部分

  1. cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ //定义安装目录
  2. -DSYSCONFDIR=/etc \ //指定初始化参数文件目录(my.cnf
  3. -DDEFAULT_CHARSET=utf8 \ //指定默认使用的字符集编码
  4. -DDEFAULT_COLLATION=utf8_general_ci \ //指定默认使用的字符集校对规则,utf8_general_ci是适用于UTF-8字符集的通用规则
  5. -DENABLED_LOCAL_INFILE=ON \
  6. -DWITH_INNOBASE_STORAGE_ENGINE=1 \ //支持InnoDB引擎
  7. -DWITH_FEDERATED_STORAGE_ENGINE=1 \
  8. -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
  9. -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
  10. -DWITH_PARTITION_STORAGE_ENGINE=1 \
  11. -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \ //安装支持数据库分区
  12. -DCOMPILATION_COMMENT='Mysqlma' \
  13. -DWITH_READLINE=ON \
  14. -DWITH_BOOST=/usr/local/boost \ //继续cmake,添加上部分
  15. -DSYSCONFDIR=/data/mysqldata/3306 \
  16. -DMYSQL_UNIX_ADDR=/data/mysqldata/3306/mysql.sock //连接数据库socket路径
  17. //(注意:如果在CMAKE的过程中有报错,当报错解决后,需要把源码目录中的CMakeCache.txt文件删除,然后再重新CMAKE,否则错误依旧)

五:编译及安装

  1. make && make install
  2. chown -R mysql.mysql /usr/local/mysql/
  3. chown mysql:mysql /etc/my.cnf

六.添加环境变量

  1. //打开
  2. vim /etc/profile
  3. //添加
  4. PATH=/usr/local/mysql/bin:/usr/local/mysql/lib
  5. source /etc/profile

CentOS 7.6安装LAMP - 图11
保存退出

七.配置编辑/etc/my.cnf ( 如果没有则创建)

  1. [client]
  2. port=3306
  3. socket=/tmp/mysql.sock
  4. #
  5. [mysqld]
  6. port=3306
  7. socket=/tmp/mysql.sock
  8. user=mysql
  9. #
  10. #
  11. basedir=/usr/local/mysql
  12. datadir=/data/mysql/data
  13. pid-file=/data/mysql/mysql.pid
  14. #
  15. log_error=/data/mysql/mysql-error.log
  16. slow_query_log=1
  17. long_query_time=1
  18. slow_query_log_file=/data/mysql/mysql-slow.log
  19. #
  20. #
  21. skip-external-locking
  22. key_buffer_size=32M
  23. max_allowed_packet=1024M
  24. table_open_cache=128
  25. sort_buffer_size=768K
  26. net_buffer_length=8K
  27. read_buffer_size=768K
  28. read_rnd_buffer_size=512K
  29. myisam_sort_buffer_size=8M
  30. thread_cache_size=16
  31. query_cache_size=16M
  32. tmp_table_size=32M
  33. performance_schema_max_table_instances=1000
  34. #
  35. explicit_defaults_for_timestamp=true
  36. #skip-networking
  37. max_connections=500
  38. max_connect_errors=100
  39. open_files_limit=65535
  40. #
  41. log_bin=mysql-bin
  42. binlog_format=mixed
  43. server_id=232
  44. expire_logs_days=10
  45. early-plugin-load=""
  46. 3
  47. default_storage_engine=InnoDB
  48. innodb_file_per_table=1
  49. innodb_buffer_pool_size=128M
  50. innodb_log_file_size=32M
  51. innodb_log_buffer_size=8M
  52. innodb_flush_log_at_trx_commit=1
  53. innodb_lock_wait_timeout=50
  54. #
  55. [mysqldump]
  56. quick
  57. max_allowed_packet=16M
  58. #
  59. [mysql]
  60. no-auto-rehash
  61. #
  62. [myisamchk]
  63. key_buffer_size=32M
  64. sort_buffer_size=768K
  65. read_buffer=2M
  66. write_buffer=2M
  67. //my.ini 文件的编码格式设置为ANSI,注意参数请不要留空格,会识别错误。比如port = 3306

CentOS 7.6安装LAMP - 图12

八.初始化数据库&添加执行文件

  1. cd /usr/local/mysql/bin
  2. ###############################################
  3. ./mysqld --initialize-insecure \
  4. --user=mysql \
  5. --basedir=/usr/local/mysql \
  6. --datadir=/data/mysql/data
  7. ###############################################
  8. cd /usr/local/mysql/support-files/
  9. cp mysql.server /etc/init.d/mysqld //拷贝可执行配置文件 或者//cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/

CentOS 7.6安装LAMP - 图13

九.启动

  1. service mysqld start //启动mysql
  2. systemctl enable mysqld //添加开机启动

CentOS 7.6安装LAMP - 图14

CentOS 7.6安装LAMP - 图15

十.登陆修改密码

  1. ./mysql -hlocalhost -uroot -p //登陆mysql

CentOS 7.6安装LAMP - 图16

  1. set password for 'root'@'localhost'=password('要修改的密码');

十一.密码管理

  1. //修改密码 Mysql5.7 之后"password"字段 变更为"authentication_string"
  2. update mysql.user set authentication_string=password('123qwe!@#ASD') where user='root' and Host = 'localhost';
  3. show grants for 'phpuser'@'localhost'; //查看phpuser用户权限
  4. GRANT all privileges ON *.* TO 'phpuser'@'localhost'; //添加phpuser用户所有权限
  5. grant all on *.* to "root"@"%" identified by "123qwe!@#ASD" with grant option; //打开root用户 grant 权限

第四部分 搭建PHP运行环境

一:安装编工具及插件

  1. yum -y install \
  2. libjpeg \
  3. libjpeg-devel \
  4. libpng libpng-devel \
  5. freetype freetype-devel \
  6. libxml2 \
  7. libxml2-devel \
  8. zlib zlib-devel \
  9. curl curl-devel \
  10. openssl openssl-devel \
  11. sqlite-devel
  12. //(注意:如果安装过程出错,修改下面文件,添加一行)
  13. vi /usr/local/httpd/bin/apxs
  14. #!/usr/bin/perl –w

二:解压安装包

  1. tar -xzvf php-7.4.6.tar.gz
  2. //安装正则库 下载开原地址https://github.com/kkos/oniguruma
  3. tar -xzvf onig-6.9.5-rev1.tar.gz
  4. ./configure --prefix=/usr/local/php/oniguruma --libdir=/lib64
  5. make
  6. sudo make install

三:配置(个性化配置及优化项目)

  1. ./configure \
  2. --prefix=/usr/local/php \
  3. --with-apxs2=/usr/local/httpd/bin/apxs \
  4. --with-mysql-sock=/usr/local/mysql/mysql.sock \
  5. --with-mysqli \
  6. --with-zlib \
  7. --with-curl \
  8. --with-gd \
  9. --with-jpeg-dir \
  10. --with-png-dir \
  11. --with-freetype-dir \
  12. --with-openssl \
  13. --enable-mbstring \
  14. --enable-xml \
  15. --enable-session \
  16. --enable-ftp \
  17. --enable-pdo \
  18. --enable-tokenizer \
  19. --enable-zip

四:编译与安装

  1. make && make install

五:编辑配置文件

  1. cp php.ini-development /usr/local/php/lib/php.ini //创建配置文件
  2. vim /usr/local/php/lib/php.ini //编辑配置文件
  3. mysqli.default_socket = /usr/local/mysql/mysql.sock //将phpmysql关联
  4. date.timezone = Asia/Shanghai //时区设置
  5. /usr/local/php/bin/php m //验证安装的模块

六:关联php与apache服务

  1. vi /etc/httpd.conf //编辑Apache配置文件,使httpd支持php网页解析
  2. ///添加以下两行内容:
  3. AddType application/x-httpd-php .php
  4. AddType application/x-httpd-php-source .phps
  5. //修改以下内容:
  6. DirectoryIndex index.php index.html //此处注意,php文件必须放前面,优先读取

CentOS 7.6安装LAMP - 图17

  1. rm -f /usr/local/httpd/htdocs/index.html //删除默认html文件
  2. vi /usr/local/httpd/htdocs/index.php //编辑php测试网页
  3. 添加以下内容(php信息)
  4. <?php
  5. phpinfo();
  6. ?>
  7. 保存退出
  8. systemctl stop httpd
  9. systemctl start httpd //重启httpd服务

七:验证

  1. mysql -u root p //登录数据库(输入上面设置的root密码)
  2. CREATE USER 'phpuser'@'localhost' IDENTIFIED BY '123QWEasd'; //创建数据库phpuser
  3. GRANT all ON myadm. TO 'phpuser'@'localhost' IDENTIFIED BY '123QWEasd'; //授权
  4. flush privileges; //刷新权限
  5. exit;
  6. systemctl restart mysqld //重启Mysql
  7. vim /usr/local/httpd/htdocs/index.php
  8. // 编辑index.php文件(将里面原来内容删除,添加以下内容)
  9. <?php
  10. $link=mysqli_connect('localhost','phpuser','123QWEasd');
  11. if($link) echo "<h1>Success!!</h1>";
  12. else echo "Fail!!";
  13. ?>
  14. //重启http服务
  15. systemctl stop httpd
  16. systemctl start httpd

八.链接

image.png
//成功


第五部分 LAMP架构应用

下载wordpress
官网 https://cn.wordpress.org/

  1. unzip wordpress-5.4.1-zh_CN.zip
  2. mv wordpress /usr/local/httpd/htdocs //移动
  3. cd /usr/local/httpd/htdocs/wordpress/
  4. cp wp-config-sample.php wp-config.php
  5. vim wp-config.php
  6. /** Mysql数据库库名 */
  7. define('DB_NAME', 'wordpress');
  8. /** MySQL数据库用户名 */
  9. define('DB_USER', 'root');
  10. /** MySQL数据库密码 */
  11. define('DB_PASSWORD', '密码');
  12. /** MySQL主机 */
  13. define('DB_HOST', 'localhost');
  14. /** 创建数据表时默认的文字编码 */
  15. define('DB_CHARSET', 'utf8');


CentOS 7.6安装LAMP - 图19

http://119.3..*/wordpress/wp-admin/install.php //页面安装