第一部分 准备工作
一:服务器:Linux系统—CentOS 7.6;
[root@SH1 ~]# lsb_release -a [root@SH1 ~]# uname -r
二:下载压缩包
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关闭
关闭防火墙
[root@SH1 opt]# systemctl status firewalld
第二部分 安装Apache服务
一:安装编译工具与插件
yum -y install gcc gcc-c++ make pcre-devel expat-devel perl
二:解压:
tar -xzvf apr-1.7.0.tar.gz
tar -xzvf apr-util-1.6.1.tar.gz
tar -xzvf httpd-2.4.43.tar.gz
//将插件放入httpd目录下
mv apr-1.7.0 httpd-2.4.43/srclib/apr
mv apr-util-1.6.1 httpd-2.4.43/srclib/apr-util
三:配置(自定义个性化配置)
cd httpd-2.4.43 #必须进入httpd-2.4.43安装目录
./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi
//个位置参数及注释
./configure \
--prefix=/usr/local/httpd \ //指定将httpd程序安装到/usr/local/httpd目录下
--enable-so \ //启用动态加载模块功能
--enable-rewrite \ //启用网页地址重写功能,用于网站优化及目录迁移
--enable-charset-lite \ //启用字符集支持,以便支持使用各种字符集编码的网页
--enable-cgi //启用CGI脚本程序支持,便于扩展网站的应用访问能力
四:编译及安装
make && make install
//将httpd服务添加到系统服务
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
vi /etc/init.d/httpd
//添加以下两行(注意,“#”不能省略):
chkconfig: 35 85 21
description:Apache is World Wide Web server
:wq //保存退出
chkconfig --add httpd //将httpd加入到SERVICE管理器
systemctl daemon-reload //重载系统系统管理器
五:编辑httpd主配置文件
vi /usr/local/httpd/conf/httpd.conf
修改以下内容(:80可省略):
ServerName www.aa.com
保存退出
//优化执行路径(执行程序文件的原路径不在PATH环境变量中,做个软链接使其可以执行)
ln -s /usr/local/httpd/conf/httpd.conf /etc/
ln -s /usr/local/httpd/bin/* /usr/local/bin/
//可添加环境变量写入/etc/profile 文件中
PATH=/usr/local/httpd/conf/httpd.conf:/usr/local/httpd/bin/
//检查语法错误(这两个都可以)
httpd –t
apachectl –t
//查看程序版本
httpd -V
六:启动服务
systemctl start httpd
systemctl enable httpd //将httpd设为开机启动
netstat -anpt | grep 80 //查看httpd服务运行状态
七:验证
用客户端访问服务器
浏览器访问http://119.3..*
第三部分 安装MySQL服务
一:安装编译工具与插件
yum -y install ncurses ncurses-devel bison cmake
二:建立数据库程序用户
创建目录
mkdir -p /data/mysql/data
添加用户
useradd -s /sbin/nologin mysql
三:解压mysql安装包
tar -xzvf mysql-boost-5.7.25.tar.gz
cd /opt/mysql-5.7.20/
如果没有boot安装,并报错
解决办法是:
1.在/usr/local下创建一个名为boost的文件夹
mkdir -p /usr/local/boost
2.进入这个新创建的文件夹然后下载boost
wget http://www.sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
3.解压
tar -xvzf boost_1_59_0.tar.gz
四.继续cmake,添加上部分
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ //定义安装目录
-DSYSCONFDIR=/etc \ //指定初始化参数文件目录(my.cnf)
-DDEFAULT_CHARSET=utf8 \ //指定默认使用的字符集编码
-DDEFAULT_COLLATION=utf8_general_ci \ //指定默认使用的字符集校对规则,utf8_general_ci是适用于UTF-8字符集的通用规则
-DENABLED_LOCAL_INFILE=ON \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ //支持InnoDB引擎
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \ //安装支持数据库分区
-DCOMPILATION_COMMENT='Mysqlma' \
-DWITH_READLINE=ON \
-DWITH_BOOST=/usr/local/boost \ //继续cmake,添加上部分
-DSYSCONFDIR=/data/mysqldata/3306 \
-DMYSQL_UNIX_ADDR=/data/mysqldata/3306/mysql.sock //连接数据库socket路径
//(注意:如果在CMAKE的过程中有报错,当报错解决后,需要把源码目录中的CMakeCache.txt文件删除,然后再重新CMAKE,否则错误依旧)
五:编译及安装
make && make install
chown -R mysql.mysql /usr/local/mysql/
chown mysql:mysql /etc/my.cnf
六.添加环境变量
//打开
vim /etc/profile
//添加
PATH=/usr/local/mysql/bin:/usr/local/mysql/lib
source /etc/profile
七.配置编辑/etc/my.cnf ( 如果没有则创建)
[client]
port=3306
socket=/tmp/mysql.sock
#
[mysqld]
port=3306
socket=/tmp/mysql.sock
user=mysql
#
#
basedir=/usr/local/mysql
datadir=/data/mysql/data
pid-file=/data/mysql/mysql.pid
#
log_error=/data/mysql/mysql-error.log
slow_query_log=1
long_query_time=1
slow_query_log_file=/data/mysql/mysql-slow.log
#
#
skip-external-locking
key_buffer_size=32M
max_allowed_packet=1024M
table_open_cache=128
sort_buffer_size=768K
net_buffer_length=8K
read_buffer_size=768K
read_rnd_buffer_size=512K
myisam_sort_buffer_size=8M
thread_cache_size=16
query_cache_size=16M
tmp_table_size=32M
performance_schema_max_table_instances=1000
#
explicit_defaults_for_timestamp=true
#skip-networking
max_connections=500
max_connect_errors=100
open_files_limit=65535
#
log_bin=mysql-bin
binlog_format=mixed
server_id=232
expire_logs_days=10
early-plugin-load=""
3
default_storage_engine=InnoDB
innodb_file_per_table=1
innodb_buffer_pool_size=128M
innodb_log_file_size=32M
innodb_log_buffer_size=8M
innodb_flush_log_at_trx_commit=1
innodb_lock_wait_timeout=50
#
[mysqldump]
quick
max_allowed_packet=16M
#
[mysql]
no-auto-rehash
#
[myisamchk]
key_buffer_size=32M
sort_buffer_size=768K
read_buffer=2M
write_buffer=2M
//my.ini 文件的编码格式设置为ANSI,注意参数请不要留空格,会识别错误。比如port = 3306
八.初始化数据库&添加执行文件
cd /usr/local/mysql/bin
###############################################
./mysqld --initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/data/mysql/data
###############################################
cd /usr/local/mysql/support-files/
cp mysql.server /etc/init.d/mysqld //拷贝可执行配置文件 或者//cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
九.启动
service mysqld start //启动mysql
systemctl enable mysqld //添加开机启动
十.登陆修改密码
./mysql -hlocalhost -uroot -p //登陆mysql
set password for 'root'@'localhost'=password('要修改的密码');
十一.密码管理
//修改密码 Mysql5.7 之后"password"字段 变更为"authentication_string"
update mysql.user set authentication_string=password('123qwe!@#ASD') where user='root' and Host = 'localhost';
show grants for 'phpuser'@'localhost'; //查看phpuser用户权限
GRANT all privileges ON *.* TO 'phpuser'@'localhost'; //添加phpuser用户所有权限
grant all on *.* to "root"@"%" identified by "123qwe!@#ASD" with grant option; //打开root用户 grant 权限
第四部分 搭建PHP运行环境
一:安装编工具及插件
yum -y install \
libjpeg \
libjpeg-devel \
libpng libpng-devel \
freetype freetype-devel \
libxml2 \
libxml2-devel \
zlib zlib-devel \
curl curl-devel \
openssl openssl-devel \
sqlite-devel
//(注意:如果安装过程出错,修改下面文件,添加一行)
vi /usr/local/httpd/bin/apxs
#!/usr/bin/perl –w
二:解压安装包
tar -xzvf php-7.4.6.tar.gz
//安装正则库 下载开原地址https://github.com/kkos/oniguruma
tar -xzvf onig-6.9.5-rev1.tar.gz
./configure --prefix=/usr/local/php/oniguruma --libdir=/lib64
make
sudo make install
三:配置(个性化配置及优化项目)
./configure \
--prefix=/usr/local/php \
--with-apxs2=/usr/local/httpd/bin/apxs \
--with-mysql-sock=/usr/local/mysql/mysql.sock \
--with-mysqli \
--with-zlib \
--with-curl \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-openssl \
--enable-mbstring \
--enable-xml \
--enable-session \
--enable-ftp \
--enable-pdo \
--enable-tokenizer \
--enable-zip
四:编译与安装
make && make install
五:编辑配置文件
cp php.ini-development /usr/local/php/lib/php.ini //创建配置文件
vim /usr/local/php/lib/php.ini //编辑配置文件
mysqli.default_socket = /usr/local/mysql/mysql.sock //将php与mysql关联
date.timezone = Asia/Shanghai //时区设置
/usr/local/php/bin/php –m //验证安装的模块
六:关联php与apache服务
vi /etc/httpd.conf //编辑Apache配置文件,使httpd支持php网页解析
///添加以下两行内容:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
//修改以下内容:
DirectoryIndex index.php index.html //此处注意,php文件必须放前面,优先读取
rm -f /usr/local/httpd/htdocs/index.html //删除默认html文件
vi /usr/local/httpd/htdocs/index.php //编辑php测试网页
添加以下内容(php信息)
<?php
phpinfo();
?>
保存退出
systemctl stop httpd
systemctl start httpd //重启httpd服务
七:验证
mysql -u root –p //登录数据库(输入上面设置的root密码)
CREATE USER 'phpuser'@'localhost' IDENTIFIED BY '123QWEasd'; //创建数据库phpuser
GRANT all ON myadm. TO 'phpuser'@'localhost' IDENTIFIED BY '123QWEasd'; //授权
flush privileges; //刷新权限
exit;
systemctl restart mysqld //重启Mysql
vim /usr/local/httpd/htdocs/index.php
// 编辑index.php文件(将里面原来内容删除,添加以下内容)
<?php
$link=mysqli_connect('localhost','phpuser','123QWEasd');
if($link) echo "<h1>Success!!</h1>";
else echo "Fail!!";
?>
//重启http服务
systemctl stop httpd
systemctl start httpd
八.链接
第五部分 LAMP架构应用
下载wordpress
官网 https://cn.wordpress.org/
unzip wordpress-5.4.1-zh_CN.zip
mv wordpress /usr/local/httpd/htdocs //移动
cd /usr/local/httpd/htdocs/wordpress/
cp wp-config-sample.php wp-config.php
vim wp-config.php
/** Mysql数据库库名 */
define('DB_NAME', 'wordpress');
/** MySQL数据库用户名 */
define('DB_USER', 'root');
/** MySQL数据库密码 */
define('DB_PASSWORD', '密码');
/** MySQL主机 */
define('DB_HOST', 'localhost');
/** 创建数据表时默认的文字编码 */
define('DB_CHARSET', 'utf8');