网站服务

Apache: www.apache.org
软件包: httpd
服务端口: 80/tcp(http) 不加密网站开放性 443/tcp(https,http+ssl) 加密网站
配置文件: /etc/httpd/conf/httpd.conf 这里是Apache的配置文件
/etc/httpd/conf.d/*.conf
/etc/httpd/conf.d/welcome.conf //默认测试页面

目的:虚拟主机VirtualHost
作用:在一台物理服务器上运行多个网站

mkdir /var/www/html/a.org

vim /var/www/html/a.org/index.html

创建a.org的配置文件

vim /etc/httpd/conf.d/a.org.conf


ServerName www.a.org
DocumentRoot /var/www/html/a.org

检测配置文件语法,重启服务

httpd -t

systemctl restart httpd

注意:web客户机可以自建DNS,也可以HOSTs文件解析。
测试:yum install -y elinks
elink www.a.org

添加www.b.org

mkdir /b.org

vim /b.org/index.html

创建b.org的配置文件

vim /etc/httpd/conf.d/b.org.conf


ServerName www.b.org
DocumentRoot /b.org


Require all granted 此处表示给这个文件特权可以在这里识别 一般都在/var/www/html/的文件中

检测配置文件语法,重启服务

httpd -t

systemctl restart httpd

注意:域名解析。www.b.org
测试:yum install -y elinks
elink www.b.org

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
动态站点
首先有个静态页面 建立静态页面

1 建立静态页面。
[root@apache ~]# vim /var/www/html/index.html
1802test
请注意观察测试是否成功。

2 建立动态页面。
[root@apache ~]# vim /var/www/html/2.php
phpinfo();
?>

请观察测试是否成功 不会成功 因为php动态站点没有软件去识别 没人解析动态语言

  1. yum -y install php //php作为Apache的模块

观察安装后的结果。
[root@apache ~]# ll /etc/httpd/modules/libphp5.so
-rwxr-xr-x. 1 root root 4588368 Jun 24 2015 /etc/httpd/modules/libphp5.so

[root@apache ~]# ll /etc/httpd/conf.d/php.conf
-rw-r--r--. 1 root root 691 Jun 24 2015 /etc/httpd/conf.d/php.conf

重新启动网站程序。调动php模块
[root@apache ~]# systemctl restart httpd

动态页面 的数据将会存储在数据库里 需要安装数据库

[root@apache ~]# yum -y install mariadb-server mariadb
[root@apache ~]# systemctl start mariadb.service
[root@apache ~]# systemctl enable mariadb.service

[root@apache ~]# mysql_secure_installation //提升mariadb安全 [可选]
Set root password? [Y/n]
New password: 123
Re-enter new password: 123
手动测试账号密码。
[root@apache ~]# mysql -uroot -p123 //登录mariadb测试
MariaDB [(none)]> \q

编辑动态页面 到数据库的文件

vim /var/www/html/index.php
$link=mysql_connect('localhost','root','123');
if ($link)
echo "Successfuly";
else
echo "Faile";
mysql_close();
?>

测试结果: php无法连接mysql 。因为缺少php连接mysql的工具

配置php连接Mariadb
[root@apache ~]# yum -y install php-mysql
[root@apache ~]# php -m //查看php有哪些扩展
[PHP Modules]
mysql
mysqli
[root@apache ~]# systemctl restart httpd

编辑Apache配置 可以编辑可以不编辑 默认主页弄成动态就可以了

[root@tianyun ~]# vim /etc/httpd/conf/httpd.conf
ServerRoot "/etc/httpd" //安装目录
Listen 80 //监听端口
IncludeOptional conf.d/.conf //包含conf.d下的.conf文件
User apache //运行Apache的用户
Group apache //运行Apache的用户组
DirectoryIndex index.html index.php //设置默认主页,用一个。
DocumentRoot //站点默认主目录

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^66666
搭建网上商城
第一步 关闭防火墙

二、安装LAMP
[root@apache ~]# yum -y install httpd mariadb-server mariadb php php-mysql gd php-gd
[root@apache ~]# systemctl start httpd mariadb
[root@apache ~]# systemctl enable httpd mariadb
[root@apache ~]# mysqladmin -u root password "123"

上传站点源码包

  1. Apache 配置虚拟主机
    [root@apache ~]# vim /etc/httpd/conf.d/zhufo.conf


ServerName www.xiaomi.top 服务器名字
ServerAlias xiaomi.top 服务器别名
DocumentRoot /webroot/zhufo 文件所在位置

当文件不在/var/www/html/ 用此命令
Require all granted 表示给他权限让他可以在这个位置

httpd -t httpd配置文件语法检测
[root@apache ~]# systemctl restart httpd

当httpd -t 出现错误558时#ServerAdmin root@localhost 将这一行注释去掉就行

  1. 导入ecshop网站源码
    [root@apache ~]# mkdir -p /webroot/zhufo
    [root@apache ~]# unzip ECShop_V3.0.0_UTF8_release0518.zip //官网下载或学校FTP
    [root@apache ~]# cp -rf ECShop_V3.0.0_UTF8_release0518/* /webroot/zhufo/
  1. 安装ecshop [任何client]
    [root@tianyun ~]# vim /etc/hosts //如果没有使用DNS解析
    192.168.122.161 www.zhufo.top zhufo.top //161为 web server IP

前台安装源码包

进入网页查看不可写文件 把不可写文件夹设上权限 比如chown 文件 -R

数据库主机 默 认
端口号 3306 默认
用户名 默认 root
数据库密码 123
数据库名 随便写一个名称
表前缀 默认

需要改变 时区
vim /etc/php.ini

找timezone 改为 date.timezone =Asia/Shanghai

systemctl restart httpd

Apache 访问控制

案例1:允许所有主机访问 vim /etc/httpd/conf.d/ 文件

AllowOverride None
Require all granted

AllowOverride All 允许子目中的 .htaccess 中的设置覆盖当前设置
AllowOverride None 不允许子目中的 .htaccess 中的设置覆盖当前设置

案例2:只允许网段192.168.5.0/24、192.168.10.0/24访问

AllowOverride None
Require ip 202.106.0.0/24
Require ip 114.248.160.203

案例3:只拒绝某些主机访问

AllowOverride None

Require not ip 114.248.160.203
Require all granted

四、针对文件的访问控制
不允许在/var/www/edusoho/web/upload目录中执行.php文件

AllowOverride None
Require all granted


Order allow,deny
Deny from all

在数据库里建立一个库

mysql -uroot -p123 进入数据库

create database tianyun tianyun是库名

show databases 查看创建的库

你可能感兴趣的:(网站服务)