一、概览
1、Apache起源
- 源于A Patchy Server,著名的开源Web服务软件
- 1995年时,发布Apache服务程序的1.0版本
- 由Apache软件基金会(ASF) 负责维护
- 最新的名称为“Apache HTTP Server”
- 官方站点: htp://ttpd.apache.org/
2、Apache主要特点
- 开放源代码、跨平台应用
- 支持多种网页编程语言
- 模块化设计、运行稳定、良好的安全性
3、Apache软件版本
-
1.X
目前最高版本是1.3, 运行稳定
向下兼容性较好,但缺乏一些较新的功能
-
2.X
目前最高版本是2.4
具有更多的功能特性
与1.X相比,配置管理风格存在较大差异
4、编译安装的优点
- 具有较大的自由度,功能可定制
- 可及时获得最新的软件版本
- 普遍适用于大多数Linux版本,便于移植使用
5、httpd服务的目录结构
- 服务目录:/usr/local/httpd/
- 主配置文件:/usr/local/httpd/conf/httpd.conf
- 网页目录:/usr/local/httpd/htdocs/
- 服务脚本:/usr/local/httpd/bin/apachectl
- 执行程序:/usr/local/httpd/bin/httpd
- 访问日志:/usr/localhttpd/log/access_ log
- 错误日志:/usr/local/httpd/log/error_ log
6、httpd.conf配置文件
■常用的全局配置参数
- ServerRoot:服务目录
- Listen:监听的IP地址、端口号
- User:运行服务的用户身份
- Group:运行服务的组身份
- ServerAdmin:管理员邮箱
- ServerName:网站服务器的域名。
- DocumentRoot:网页文档的根目录
- DirectoryIndex:默认的索引页文件
- ErrorLog:设置错误日志文件的路径
- LogLevel:记录日志的级别,默认为warn
7、httpd.conf配置文件
■常用的全局配置参数(续)
- CustomLog:访问日志文件的位置
- PidFile:保存httpd进程PID号的文件
- AddDefaultCharset:设置站点中网页默认的字符集编码
- Timeout:网络连接超时,默认为300秒
- KeepAlive:是否保持连接,可选On或Off
- MaxKeepAliveRequests:每次连接最多请求文件数
- KeepAlive Timeout:保持连接状态时的超时时间
- Include:需要包含进来的其他配置文件
8、什么是LAMP
目前最为成熟的一种企业网站应用模式,可提供动态Web站点应用及开发环境
9、LAMP构成组件
Linux、Apache、MySQL、 PHP/Perl/Python
10、LAMP的优势
- 成本低廉
- 可定制、易于开发
- 方便易用、安全和稳定
二、实验步骤
1、安装apache和http相关服务
1.1、创建目录
cd /opt
mkdir apache mysql php ##创建目录
ls
apache文件拷贝到相应的创建目录中/opt/apache
1.2、进入目录并解压
cd apache/
ls
tar zxvf apr-1.6.2.tar.gz ##解压相关文件
tar zxvf apr-util-1.6.0.tar.gz
tar jxvf httpd-2.4.29.tar.bz2
1.3、移动文件目录
mv apr-1.6.2 httpd-2.4.29/srclib/apr ##移动文件夹
mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util
ls httpd-2.4.29/srclib/
1.4、安装并编译
yum -y install \ ##安装命令
gcc \
gcc-c++ \
make \
pcre-devel \
expat-devel \
perl
1.5、编辑配置项
cd httpd-2.4.29
./configure \
--prefix=/usr/local/httpd \ ##设置文件安装目录
--enable-so \ ##设置核心功能开启
--enable-rewrite \ ##设置重写功能开启
--enable-charset-lite \ ##设置字符集
--enable-cgi ##设置按某种规范(通用网关接口)进行编写
1.6、编译并安装
make ##编译
make install ##安装
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd ##拷贝目录
ls /etc/init.d/
1.7、编辑配置文件
vim /etc/init.d/httpd
##注意新增的文本前面要加“#”标号
35是指3和5级别,第85个启动,第21个关闭
1.8、将httpd加入到SERVICE管理器中
chkconfig --add httpd
1.9、编辑配置文件
vi /usr/local/httpd/conf/httpd.conf
1.10、创建软连接
ln -s /usr/local/httpd/conf/httpd.conf /etc/
ln -s /usr/local/httpd/bin/* /usr/local/bin/
1.11、关闭防火墙
systemctl stop firewalld.service ##关闭防火墙
setenforce 0 ##关闭核心功能
1.12、测试一下
httpd -t
1.13、开启http服务
systemctl start httpd ##开启http服务
netstat -ntap | grep 80 ## 查询80端口开启的进程
2、安装mysql相关服务
2.1、安装mysql需要的相关软件
yum install -y ncurses-devel autoconf cmake
2.2、mysql安装程序解压
mysql安装文件拷贝到相应的创建目录中/opt/mysql
cd /opt/mysql/
ls
tar xzvf mysql-5.6.26.tar.gz
cd mysql-5.6.26/
2.3、设置安装配置
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DSYSCONFIDIR=/etc \
-DMYSQL_DATADIR=/home/mysql/ \
-DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock
2.4、编译并安装
make && make install
2.5、复制文件
cp support-files/my-default.cnf /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld
2.6、给文件加权限
chmod 755 /etc/init.d/mysqld
2.7、添加服务到service中
chkconfig --add /etc/init.d/mysqld
chkconfig mysqld --level 35 on
2.8、编辑配置文件
vim /etc/profile
2.9、执行文件使文件生效
source /etc/profile
echo $PATH
2.10、创建用户
useradd -s /sbin/nologin mysql ##创建用户
chown -R mysql:mysql /usr/local/mysql ##修改用户
chown -R mysql.mysql /usr/local/mysql
2.11、配置mysql
/usr/local/mysql/scripts/mysql_install_db \
--user=mysql \
--ldata=/var/lib/mysql \
--basedir=/usr/local/mysql \
--datadir=/home/mysql
2.12、编辑配置文件
vi /etc/init.d/mysqld
2.13、启动mysqld服务
service mysqld start ##启动mysql服务
netstat -anpt | grep 3306 ## 查看端口3306对应的服务
2.14、给root帐号账号设置密码并修改权限
mysqladmin -u root -p password "abc123" ##设置密码
2.15、测试下数据库
mysql -uroot -p ##登录数据库
输入密码abc123
show databases; ##查询数据库
3、安装php相关服务
3.1、安装php相关服务
cd /opt/php
yum -y install \ ##安装
gd \
libpng \
libpng-devel \
pcre \
pcre-devel \
libxml2-devel \
libjpeg-devel
3.2、解压php安装文件
tar xjvf php-5.6.11.tar.bz2 ##解压压缩文件
cd php-5.6.11
3.3、编辑配置项
./configure \
--prefix=/usr/local/php5 \
--with-gd \
--with-zlib \
--with-apxs2=/usr/local/httpd/bin/apxs \
--with-mysql=/usr/local/mysql \
--with-config-file-path=/usr/local/php5 \
--enable-mbstring
3.4、编译并安装
make && make install
3.5、复制模板文件并创建软链接
cp php.ini-development /usr/local/php5/php.ini ##复制文件
ln -s /usr/local/php5/bin/* /usr/local/bin/ ##创建软链接
3.6、修改配置文件
vim /etc/httpd.conf
3.7、重启http服务
systemctl restart httpd ##重启服务
3.8、编辑网页文件
vi /usr/local/httpd/htdocs/index.php
3.9、在网页测试
网页访问地址:http://192.168.235.130/index.php
4、安装论坛
4.1、创建数据库
mysql -uroot -p ##进入数据库
输入密码abc123 ##输入密码
CREATE DATABASE bbs; ##创建数据库
GRANT all ON bbs.* TO 'bbsuser'@'%'IDENTIFIED BY 'admin123';
##给数据库赋权限,只有用户名bbsuser和密码为admin123的用户,可以登录数据库bbs
flush privileges; ##刷新数据库
show databases; ##查询数据库
exit ##退出
4.2、解压zip文件
cd /opt
ls
unzip Discuz_X2.5_SC_UTF8.zip -d /opt/dis ##解压
4.3、复制文件夹
cd /opt/dis
cp -r upload/ /usr/local/httpd/htdocs/bbs
cd /usr/local/httpd/htdocs/bbs
4.4、修改属主
chown -R daemon ./config ##修改文件夹属主
chown -R daemon ./data ##修改文件夹属主
chown -R daemon ./uc_client ##修改文件夹属主
chown -R daemon ./uc_server/data ##修改文件夹属主
4.5、访问数据库界面
http://192.168.235.130/bbs/install/
点击“我同意”
4.6、输入数据库安装地址192.168.235.130,数据库bbs,用户名bbsuser,密码admin123,管理员帐号admin,密码123123
4.7、访问论坛
http://192.168.235.130/bbs
三、实验问题
1、修改过配置文件后,重启http服务后报错?
错误如下所示
解决方案:查看修改点,并添加空格
服务可以正常重启,问题解决
2、服务安装都完成后,安装数据库时,用户名和密码没错误,报错没有权限?
安装数据库报权限有问题,错误提示如下所示:
解决方案:修改mysql配置文件/etc/my.cnf,在文件的最后添加一行“skip-grant-tables”,保存并关闭文件。然后重启mysql服务。安装向导正常安装成功。
vim /etc/my.cnf