LINUXcentos7 configuration LAMP environment

One

  1. meaning

LAMP refers to the first letter of Linux (operating system), Apache HTTP server, MySQL (sometimes MariaDB, database software), and PHP (sometimes Perl or Python), and is generally used to build a web application platform.

1. Overview
of LAMP platform What is the
most mature of LAMP at present-a kind of enterprise website application mode, which can provide dynamic website application and development environment. The advantages of
composing components
Linux, Apache, MySQL, PHP/Per/Python
LAMP,
low cost,
customizable, and easy Development is
easy to use, safe and stable

Purpose: Build a LAMP architecture and complete a forum

Environment
version: CENTOS7
server network is normal
APACHE
Insert picture description here
Insert picture description here

1. Apache website service
1. Introduction to Apache

(1) Apache originated
from A Patchy Server, the famous open source web service software in
1995, released version 1.0 of the Apache service program,
maintained by the Apache Software Foundation (ASF), the
latest name is "Apache HTTP Server"
official Site: ht:/:ttdt .apache.org/
Introduction to Apache 2-2
(2) Main features:
Open source, cross-platform application (apr helps cross-platform),
supports multiple web programming languages,
modular design, stable operation, and good Security
(3) Software version
1.X

The current highest version is 1.3, stable operation,
backward compatibility is better, but lacks-some newer features
2.X The
current highest version is 2.4. It
has more features
compared with 1.X, the configuration management style is more Big difference

Compile and install httpd server

1.解压操作:
[root@localhost ~]# tar zxf httpd-2.4.38.tar.gz -C /usr/src/:讲网上下载的包解压到/usr/src
[root@localhost src]# cd /usr/src/httpd-2.4.38/ 进解压包httpd目录
2.配置编译安装操作
[root@localhost httpd-2.4.38]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi 
//--prefix:指定将httpd服务程序安装到哪个目录;--enable-so:启动动态加载模块支持,开启核心功能模块,使httpd具备扩展功能能力;--enable-rewrite:启用网页地址重写功能,做防盗链,网站优化及目录迁移维护;--enable-charset-lite:启用字符集支持,支持使用各种字符集编码的网页;--enable-cgi:启用CGI脚本程序支持,定义规范,便于扩展网页的应用访问能力。
[root@localhost httpd-2.4.38]# make && make install #编译安装
[root@localhost local]# cd /usr/local/httpd/
3.安装完成 进入/usr/local/httpd/  #httpd的路径
[root@localhost httpd]# ls
bin  build  cgi-bin  conf  error  htdocs  icons  include  logs  man  manual  modules
bin:存放执行程序文件
conf:存放配置问价
htdoc:存放网页文档
logs:存放日志文件
modules:存放各种模块文件
cgi-bin:存放各种CGI程序文件

Opening of APACHE

开启:[root@localhost bin]# ./apachectl 
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.lo
caldomain. Set the 'ServerName' directive globally to suppress this message
出现警告,可以忽略  如果要消除,进入配置文件编辑 vim /usr/local/httpd/conf/httpd.conf
202行修改为: ServerName localhost:80 #修改保存后关闭重启后不会出现警告
[root@localhost bin]# ./apachectl -k stop #关闭
[root@localhost bin]# ./apachectl  #打开
[root@localhost bin]# ss -lnt #查看端口占用
LISTEN      0      128                   [::]:80       #apache默认80端口 成功打开                         [::]:*

Add the compiled and installed software into the
CENTOS6 style of the system service

/usr/local/httpd/bin/apachectl 文件拷贝到 /etc/init.d/ 并改名字为httpd
[root@localhost bin]# cp apachectl /etc/init.d/httpd
#apachectl 是httpd程序的启动脚本文件  /etc/init.d/ 系统服务存放位置
[root@localhost init.d]# vim httpd 
在前面添加
#!/bin/bash
# chkconfig 35 85 21
---------------------------
[root@localhost init.d]# chkconfig --add httpd 将httpd添加进系统服务
[root@localhost init.d]# chkconfig --list httpd  查看系统服务列表 httpd
注:该输出结果只显示 SysV 服务,并不包含
原生 systemd 服务。SysV 配置数据
可能被原生 systemd 配置覆盖。 

      要列出 systemd 服务,请执行 'systemctl list-unit-files'。
      查看在具体 target 启用的服务请执行
      'systemctl list-dependencies [target]'。

httpd          	0:关	1:关	2:关	3:开	4:关	5:开	6:关

[root@localhost etc]# service httpd start 开启服务

CENTOS7 style

[root@localhost init.d]# mv httpd httpd.bak 在etc/init.d/ 把httpd改为httpd.bak 让系统无法识别之前添加的httpd服务 

[root@localhost system]# vim /lib/systemd/system/httpd.service 在里面新建一个文件编辑
escription=The Apache HTTP Server
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/httpd/logs/httpd.pid #写对
ExecStart=/usr/local/httpd/bin/apachectl $OPTIONS
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RetartSec=42s
[Install]
WantedBy=graphical.target

[root@localhost system]# systemctl daemon-reload 加载系统服务配置文件
[root@localhost system]# systemctl start httpd
LISTEN     0      128                   [::]:80 开启


3. Directory structure of httpd service

主要目录和文件
服务目录: /usr/local/httpd/
主配置文件: /usr/local/httpd/conf/httpd.conf //配置文件
网页目录: /usr/ocal/httpd/htdocs/
服务脚本: /urs/local/httpd/bin/apachectl //启动脚本
执行程序: /usr/local/httpd/bin/httpd
访问日志: /usr/local/httpd/log/access_ log
错误日志: /usr/locahlttpd/og/error _log
httpd服务器基本配置

4. Web site deployment process

1.确定网站名字、 IP地址
2.配置并启动httpd服务
[root@www ~]# vim /uslocal/httpd/confttpd.conf
ServerName www.kgc.com
[root@www ~]# /sr/localhttpd/bin/apachectl -t // 验证语法是否正确
Syntax OK
[root@www ~]# systemctl restart httpd

MYSQL

解压配置编译安装



准备工作
- 确认没有使用RPM方式安装mysql-server、mysq|
- 安装光盘自带的ncurses-devel包
- 安装cmake包
[root@localhost mysql-5.6.36]# cd /usr/src/cmake-2.8.6/
[root@localhost cmake-2.8.6]# ./configure 配置
[root@localhost cmake-2.8.6]# gmake && gmake install 编译安装

groupadd mysql 添加组mysql
 [root@www ~]# useradd -M -S /sbin/nologin mysql -g mysql 添加用户指定用户组
[root@localhost ~]# tar xf mysql-5.6.36.tar.gz -C /usr/src/ 解压在src
[root@localhost cmake-2.8.6]# cd /usr/src/mysql-5.6.36/ 
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT
_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql 	# 安装基目录
-DSYSCONFDIR=/etc 		# 默认配置文件my.cnf路径
-DDEFAULT_CHARSET=utf8 	# 默认字符集
-DDEFAULT_COLLATION=utf8_general_ci 	# 默认字符集校验规则
-DWITH_EXTRA_CHARSETS=all	# 扩展字符集

配置成功 编译
make && make install 
[root@localhost mysql-5.6.36]# echo $?
0
安装成功

After the installation is complete, start configuring mysql


[root@localhost ~]# cd /usr/local/
#local里有mysql

[root@localhost local]# chown -R mysql:mysql mysql/ 将mysql下的所有东西权限改成 mysql
[root@localhost local]# rm -rf /etc/my.cnf #删除 (具体删除 还未搞懂 好像是系统之前自带的这个文件 删了用mysql下载的软件里面的配置文件)

[root@localhost support-files]# pwd
/usr/local/mysql/support-files
[root@localhost support-files]# cp my-default.cnf /etc/my.cnf #将模板配置文件 拷贝到etc下的my.cnf.d

[root@localhost support-files]# cp mysql.server /etc/init.d/mysqld #将mysql服务 拉到系统服务文件里面



[root@localhost bin]# /usr/local/mysql/scripts/mysql_install_db --user=mysql  --basedir=/usr/local/mysql
 --datadir=/usr/local/mysql/data/  #初始化数据库 !!!!!!!!!!!!!!!!!! (一定先把mysql下的所有权限都设为mysql:mysql 再初始化数据库 )
 [root@localhost support-files]# chkconfig --add mysqld 添加到系统服务
[root@localhost support-files]# chkconfig --list mysqld

[root@localhost bin]# service mysqld start
Starting MySQL. SUCCESS! 
LISTEN     0      80                    [::]:3306  成功

[root@localhost bin]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile #添加etc环境变量
source /etc/profile #使其生效

[root@localhost bin]# mysqladmin -u root password '123'
Warning: Using a password on the command line interface can be insecure.
#配置密码为123

[root@localhost bin]# mysql -uroot -p  #输入密码 root账号
Enter password: 
123

mysql> 
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.05 sec)
这个样子就好了 exit是退出

PHP

准备依赖 
[root@localhost php-5.5.38]# yum install -y zlib-devel xz-devel libxml2-devel libpng-devel.x86_64 2:1.5.13-8.el7

[root@localhost ~]# tar xf php-5.5.38.tar.gz -C /usr/src/ 解压到src 

进入/usr/src/php-5.5.38  ./configure
[root@localhost php-5.5.38]# ./configure --prefix=/usr/local/php5 \   #安装路径
> --with-apxs2=/usr/local/httpd/bin/apxs \   #httpd依赖   
> --with-mysql=/usr/local/mysql/ \   #mysql依赖
> --with-mysqli=/usr/local/mysql/bin/mysql_config \   #mysql配置文件
> --with-config-file-path=/usr/local/php5 \   #php环境
> --enable-mbstring   #启动字符节支持



make && make install
[root@localhost php-5.5.38]# echo $?
0
安装 完成

Configure php file

[root@localhost php-5.5.38]# cp php.ini-development /usr/local/php5/php.ini  
在解压包里 的php.ini-development文件 拷贝到 /usr/local/php5/ 并取名为php.ini

[root@localhost php5]# ln -s /usr/local/php5/bin/* /usr/local/bin/   
#优化命令 可直接使用 

[root@localhost php5]# vim php.ini 修改配置文件 在/usr/local/php5/里

需要改的参数
engine = On # 是否启用PHP解析引擎
short_open_tag = On #是否使用简介标志
DEFAULT_CHARSET = utf-8 #定义一个默认字符集变量并赋值为utf8的字符集
file_uploads = On #是否允许通过HTTP上传文件的开关。默认为ON即是开
upload_max_filesize = 2M #望文生意,即允许上传文件大小的最大值。默认为2M
max_file_uploads = 20 #是php5.2.12及更新的版本中增加的一个参数,该参数是设置每次最大上传文件数量(Maximum number of files that can be uploaded via a single request),超出该数量的文件将被丢弃。所以设置max_file_uploads的值为你可能用到的最大文件数就可以成功解决这个问题了。
post_max_size = 8M #限制通过POST方法可以接受的信息最大量
extension=php_mysqli.dll #开启扩展
其余的默认


在 /usr/local/httpd/conf/httpd.conf
里 
AddType application/x-httpd-php .php
399     AddType application/x-httpd-php-source .phps # 添加
260     DirectoryIndex index.php index.html

260 <IfModule dir_module>
261     DirectoryIndex index.html index.htm index.php
262 </IfModule>
263 
264 LoadModule php5_module        modules/libphp5.so  

重启httpd
[root@localhost htdocs]# vim index.php #在htdocs里编辑
<?php
$link=mysqli_connect('localhost','root','123');
if($link) echo "恭喜你,数据库连接成功啦!!";
mysqli_close($link);
?>

出现问题 : 在浏览器上输入自己ip会出现下载的情况 原因是缓存没有清除

将博客放入htdocs里
![在这里插入图片描述](https://img-blog.csdnimg.cn/2021032715132378.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3RpYW5yYW5yYW4=,size_16,color_FFFFFF,t_70#pic_center)

![在这里插入图片描述](https://img-blog.csdnimg.cn/2021032715135765.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3RpYW5yYW5yYW4=,size_16,color_FFFFFF,t_70#pic_center)

因为没有在数据里面创建 博客的信息
[root@localhost wenjian]# mysql -uroot -p
123
mysql> create database wordpress;
Query OK, 1 row affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
| wordpress          |
+--------------------+
5 rows in set (0.00 sec)

[root@localhost htdocs]# vim wp-config.php
--------------------------------------------
<?php
/**
 * WordPress基础配置文件。
 *
 * 这个文件被安装程序用于自动生成wp-config.php配置文件,
 * 您可以不使用网站,您需要手动复制这个文件,
 * 并重命名为“wp-config.php”,然后填入相关信息。
 *
 * 本文件包含以下配置选项:
 *
 * * MySQL设置
 * * 密钥
 * * 数据库表名前缀
 * * ABSPATH
 *
 * @link https://codex.wordpress.org/zh-cn:%E7%BC%96%E8%BE%91_wp-config.php
 *
 * @package WordPress
 */

// ** MySQL 设置 - 具体信息来自您正在使用的主机 ** //
/** WordPress数据库的名称 */
define('DB_NAME', 'wordpress');

/** MySQL数据库用户名 */
define('DB_USER', 'root');

/** MySQL数据库密码 */
define('DB_PASSWORD', '123');

/** MySQL主机 */
define('DB_HOST', 'localhost');

/** 创建数据表时默认的文字编码 */
define('DB_CHARSET', 'utf8mb4');

/** 数据库整理类型。如不确定请勿更改 */
define('DB_COLLATE', '');

/**#@+
 * 身份认证密钥与盐。
 *
 * 修改为任意独一无二的字串!
 * 或者直接访问{
    
    @link https://api.wordpress.org/secret-key/1.1/salt/
 * WordPress.org密钥生成服务}
 * 任何修改都会导致所有cookies失效,所有用户将必须重新登录。
 *
 * @since 2.6.0
 */
define('AUTH_KEY',         'e17PFRLrK|^lLa^sdeyY<<f/)Cy<!lAW]5F^I$awtw.V)eQuRYXM(HQO2zAY%2G4');
define('SECURE_AUTH_KEY',  'sO#2HAOpA55!F.5[Aenu|2 4{^Td]7$!0ZN[@PqY&xf5_1KEXO_xCLuk_c%j-Vk>');
define('LOGGED_IN_KEY',    'R+1F1)SlH2w5.}i=k##b/qmJC^h[;[8r)Uj2$xdr.(MC%I#WHWE<ku-1)S0^GF&w');
define('NONCE_KEY',        'esi#7xdBr[sx.@zUy_s3`->,3i/ayv!V_x5+[{rQHUMes178up0#2;<d|g-4(Lv}');
define('AUTH_SALT',        'Q Jooa){PB&C0Xl*c|FT~fR#[tFS|5_XX4.Klv4`>L9e?+3/^wEe`I,JH_aKkwPs');
define('SECURE_AUTH_SALT', 'tni;axR>Pb:j$035$g_$O]ZG`CxuL;~ZNF5yuSq=WSe;d{8W^&PvT/ ypCi-xFHd');
define('LOGGED_IN_SALT',   '$ZUt5+<&[{8y1_X[^#1j(n~;c$GeRX>eUNKA[d~5~6XEB?/;;OMLTO+kw@z+iv1e');
define('NONCE_SALT',       'ma,q,*?P}]<B}hW,:Vk:{i7==@jOftBcs,k=_ALqj%hc(kw)q+4w4kx^5FHf,y!O');

/**#@-*/

/**
 * WordPress数据表前缀。
 *
 * 如果您有在同一数据库内安装多个WordPress的需求,请为每个WordPress设置
 * 不同的数据表前缀。前缀名只能为数字、字母加下划线。
 */
$table_prefix  = 'wp_';

/**
 * 开发者专用:WordPress调试模式。
 *
 * 将这个值改为true,WordPress将显示所有用于开发的提示。
 * 强烈建议插件开发者在开发环境中启用WP_DEBUG。
 *
 * 要获取其他能用于调试的信息,请访问Codex。
 *
 * @link https://codex.wordpress.org/Debugging_in_WordPress
 */
define('WP_DEBUG', false);

/**
 * zh_CN本地化设置:启用ICP备案号显示
 *
 * 可在设置→常规中修改。
 * 如需禁用,请移除或注释掉本行。
 */
define('WP_ZH_CN_ICP_NUM', true);

/* 好了!请不要再继续编辑。请保存本文件。使用愉快! */

/** WordPress目录的绝对路径。 */
if ( !defined('ABSPATH') )
	define('ABSPATH', dirname(__FILE__) . '/');

/** 设置WordPress变量和包含文件。 */
require_once(ABSPATH . 'wp-settings.php');
-----------------------------------------
直接复制在文件里

再次登录网站
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210327151936594.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3RpYW5yYW5yYW4=,size_16,color_FFFFFF,t_70#pic_center)

Guess you like

Origin blog.csdn.net/tianranran/article/details/115250435