一、搭建LAMP服务
1.先准备好apache、mysql、php安装包
1.搭建Apache
1.解压三个软件包
tar zxvf apr-1.6.2.tar.gz
tar zxvf apr-util-1.6.tar.gz
tar jxvf httpd-2.4.29.tar.bz2
2.把软件包移动到httpd中的目录文件中
[root@server2 ~]# mv apr-1.6.2 httpd-2.4.29/srclib/apr
[root@server2 ~]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util
3.安装依赖包
[root@server2 ~]# yum -y install pcre-devel expat-devel perl
4.开启一些功能模块
[root@server2 httpd-2.4.29]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi
5.编译安装
make && make install
6.设置chkconfig管理http
[root@server2 httpd-2.4.29]# cd
[root@server2 ~]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
[root@server2 ~]# vi /etc/init.d/httpd
[root@server2 ~]# chkconfig --add httpd
[root@server2 ~]# chkconfig --list
[root@server2 ~]# systemctl enable httpd
vi /etc/init.d/httpd
添加:
#chkconfig:45 87 31
#description:Apache HTTP Server
7.建立软链接
[root@server1 ~]# ln -s /usr/local/httpd/bin/* /usr/bin/
[root@server1 ~]# ln -s /usr/local/httpd/conf/httpd.conf /etc/
8.网站与域名捆绑
vi /etc/httpd.conf
修改:
ServerName www.nb.com:80
9.检查语法的两种方法
[root@server1 ~]# apachectl -t
[root@server1 ~]# httpd -t
10.将this is my 重定向输入到index.html中
echo "<h1>this is my</h1>" > /usr/local/httpd/htdocs/index.html
[root@server1 ~]# systemctl restart httpd #重启服务
[root@server1 ~]# netstat -anpt | grep httpd #查看httpd服务端口状态
[root@server1 ~]# curl http://localhost #测试访问
测试:
2.搭建Mysql
1.安装mysql4个依赖包
yum -y install nucurses \
ncurses-devel \
bison \
cmake \
2.创建一个不可登陆的用户
useradd -s /sbin/nologin mysql
3.解压mysql安装包
tar zxvf mysql-boost-5.7.20.tar.gz
4.配置cmake
cd mysql-5.7.20/
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #安装目录 安装路径
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ #指定套接字文件的存储路径套接字:客户端访问mysql数据库的一个接口
-DSYSCONFDIR=/etc \ #配置my. cnf的目录 配置文件路径,(根目录)
-DSYSTEMD_PID_DIR=/usr/local/mysql \ #主服务进程所在路径 (进程文件目录)
-DDEFAULT_CHARSET=utf8 \ #默认字符集
-DDEFAULT_COLLATION=utf8_general_ci \ #默认编码
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ #启用InnoDB引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \ #启用ARCHIVE引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ #启用BLACKHOLE引擎
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \ #启用perfschema引擎
-DMYSQL_DATADIR=/usr/local/mysql/data \ #数据存储路径 (数据库目录)
-DWITH_BOOST=boost \ #boost库是为C++语言标准库提供扩展的一些C++程序库的总称
-DWITH_SYSTEMD=1 #这是mysql5.7原生支持systemd的选项,如果用systemctl启动,就必须开启
5.编译安装
[root@server1 ~]#make && make install
6.设置属主属组(因为要运行权限)
[root@server1 ~]#cd
[root@server1 ~]#chown -R mysql . mysql /usr/local/mysql/
7.编辑配置文件
[root@server1 ~]#vi /etc/my.conf #进入全部清空,然后编辑
[client] #客户端
port = 3306 #访问端口
default-character-set = utf8 #默认字符集
socket = /usr/local/mysql/mysql.sock #套接字
[mysql] #运行用户
port = 3306 #运行端口
default-character-set = utf8
socket = /usr/local/mysql/mysql.sock
[mysqld] #程序
user = mysql 运行用户
basedir = /usr/local/mysql #根目录
datadir = /usr/local/mysql/data #用户目录
port = 3306
character_set_server = utf8 #服务器设置字符
socket = /usr/local/mysql/mysql.sock #进程文件
pid-file = /usr/local/mysql/mysql.pid
server-id = 1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES
chown mysql.mysql /etc/my.cnf
8.将/usr/local/mysql/bin和/usr/local/mysql/lib追加到变量PATH
echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
9.把export PATH设为全局变量,追加到/etc/profile末尾
[root@server1 ~]#echo 'export PATH' >> /etc/profile
[root@server1 ~]#tail -5 /etc/profile
添加:
unset i
unset -f pathmunge
PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
export PATH
10./etc/profile是初始化的配置文件
[root@server1 ~]#source /etc/profile
[root@server1 ~]#echo $PATH
11.初始化设置
[root@server1 ~]# mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
[root@server1 ~]# cd /usr/local/mysql/
[root@server1 mysql]# cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system
[root@server1 mysql]# systemctl daemon-reload 守护进程
[root@server1 mysql]# systemctl start mysqld
[root@server1 mysql]# cd
[root@server1 ~]# netstat -anpt | grep 3306
[root@server1 ~]# systemctl enable mysqld
[root@server1 ~]# mysql 登录(第一次登录密码为空)
1.修改Mysql密码
方法一、
[root@server1 ~]# mysqladmin -uroot -p password 'fa123'
进行登录检验
[root@server1 ~]# mysql -uroot -p
输入密码fa123
方法二、
[root@server1 ~]# mysqladmin -uroot -p123456 password 'fa123'
方法三、
在数据库中修改密码
[root@server1 ~]# mysql -u root -p
mysql > set password for root@localhost = password('123456');
Query OK,0 rows affected, 1 warning (0.00 sec)
2.忘记密码
vi /etc/my.cnf
末尾加
skip_name_resolve #跳过名字
skip_grant_tables #跳过表的授权
bind-address=0.0.0.0 #绑定地址
:wq
systemctl restart mysqld #重启
然后重新登录Mysql,登录上去默认是没有密码的,然后可以重新设置密码
二、搭建PHP
依赖包
libjpeg libjpeg-devel:jpeg图像压缩库
libpng libpng-devel:png图像压缩库
freetype freetype-devel:字体引擎,统一的接口访问多种字体格式文件
libxml2 libxml2-devel:xml程序库,用来对xml文件进行解析
zlib zlib-devel:数据压缩用的函式库,可相当轻松的通过把压缩数据写入到由gzip头的文件中
curl curl-devel:利用url规则在命令行下工作的文件传输工具
openssl openssl-devel:是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份。这个包被广泛应用在互联网的网页服务器上
1.安装依赖包
yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel curl curl-devel openssl openssl-devel
2.解压
tar zxvf php-7.1.10.tar.bz2
3.php配置选项
./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 \
4.拷贝文件、添加套接字路径、时间
cp php.ini-development /usr/local/php/lib/php.ini #拷贝文件
vi /usr/local/php/lib/php.ini #编辑
5.验证php模块有没有安装成功
/usr/local/php/bin/php -m
6.添加php功能
vi /etc/httpd.conf
vi /usr/local/httpd/htdocs/index.php
添加:
<?php
phpinfo();
?>
实现效果:
成功后,就说明php与apache可以联动
1.开始做php与mysql联动
mysql> grant all privileges on myadm.*(库点表) to 'myadm'(用户)@'localhost'(范围) identified by 'admin123';(以授权的密码是adm123)
mysql> grant all privileges on myadm.* to 'myadm'@'%'(其他范围) identified by 'admin123';
flush privileges #刷新权限,使它生效
exit
2.修改php的html页面
vi /usr/local/httpd/htdocs/index.php
修改:
<?php
$link(定义的变量)=mysqli_connec(变量池,获取的值)t('20.0.0.13'(获取的地址()本机地址),'admin'(数据库登录名),'admin123'(数据库登录密码));
if($link) echo "<h1>Success!!!</h1>" #如果这个link变量是
else echo "Fail!!!";
?>
然后去虚拟机上连接测试
这边可以看出php与apache实现了连通,而调用的数据是mysql中的数据
1.使用图形化工具管理Mysql数据库
安装包
1.解压
[root@server1 ~]#unzip phpMyAdmin-4.7.6-all-languages.zip
2.把phpMyAdmin-4.7.6-all-languages剪切到/usr/local/httpd/htdocs/中的myadm目录中
[root@server1 ~]# mv phpMyAdmin-4.7.6-all-languages /usr/local/httpd/htdocs/myadm
[root@server1 ~]# cp /usr/local/httpd/htdocs/myadm/config.sample.inc.php /usr/local/httpd/htdocs/myadm/config.inc.php
[root@server1 ~]# vi /usr/local/httpd/htdocs/myadm/config.inc.php
修改后http://20.0.0.13/myadm
默认用root账户登录不上去,因为没有给root权限
添加权限
添加完权限后再用root账户登录
root
fa123