Linux 搭建网站

配置网络

1 改对应配置文件

vi /etc/sysconfig/network-scripts/ifcfg-ens32

2 使用命令

nmcli connection add con-name supermao ifname ens32 type ethernet

nmcli connection modify supermao ipv4.method manual ipv4.addresses 10.104.45.235

修改网络编辑器

配置yum源

连接镜像文件

cat > /etc/yum.repo/local.repo << q

name=rhel

baseurl=file:///media

gpgcheck=0

enabled=1

q

mount /dev/cdrom /media

下载

yum -y install httpd 下载网页

yum -y install net-tools 下载查看端口工具

yum -y install bash* 下载补全工具

bash

防火墙允许通过

firewall-cmd --permanent --add-server=http

firewall-cmd --reload

重启httpd

systemctl restart httpd

现在可以访问http://10.104.45.235 来查看httpd有没有搭建成功

Linux搭建个人网站

接着上面做

cd /etc/httpd/conf.d

vi userdir.conf

进入vi的末行模式 %s/UserDir disable/UserDir enabled/g

去掉UserDir public_html 的#号

添加用户

useradd supermao

cd /home/supermao

mkdir public_html

echo 'this is website for supermao' > /home/supermao/public_html/index.html

chmod -R o+x /home/supermao

更改bool值

getsebool -a | grep httpd

setsebool -P httpd_enable_homedirs on

访问http://10.104.45.235/~supermao/

配置基于域名访问的虚拟主机

创建访问的文件

mkdir /www/

chmod o+x /www

cd /www

mkdir one two

cd one

echo "this is a web for virtual host one">>index.html

cd two

echo "this is a web for virtual host two">>index.html

配置虚拟主机文件

cd /etc/httpd/conf.d

vi one.conf

            <Directory /www/one>
Require all granted
</Directory>
<VirtualHost 10.104.45.235>
ServerName www.one.com
DocumentRoot /www/one/
</VirtualHost>

vi two.conf

            <Directory /www/two>
Require all granted #允许所有访问的请求
</Directory>
<VirtualHost 10.104.45.235>
ServerName www.two.com #域名
DocumentRoot /www/two/ #文件目录
</VirtualHost>

vim /etc/hosts

10.104.45.235 www.one.com

10.104.45.235 www.two.com

systemctl restart httpd

尝试curl www.one.com

报错因为selinux限制了 得修改文件bool值或者关闭selinux

semanage fcontext -a -t httpd_sys_content_t '/www(/.*)?'

restorecon -RFv /www

配置基于端口访问

配置主配置文件,添加端口号

vi /etc/httpd/conf/httpd.conf

  # Change this to Listen on specific IP addresses as shown below to
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.56.78:80
Listen 80
Listen 8088
Listen 8089

创建端口网页并给文件夹递归的执行权限

mkdir -p /www/8088

mkdir /www/8089

echo 'this is a web for port 8088' > /www/8088/index.html

echo 'this is a web for port 8089' > /www/8089/index.html

chmod -R /www o+x

创建文件

cd /etc/httpd/conf.d

  cat  > 8088.conf << q
<Directory /www/8088/>
Require all granted
</Directory>
<virtualhost 192.168.20.130:8088>
DocumentRoot /www/8088/
</virtualhost> cat > 8089.conf << q
<Directory /www/8089/>
Require all granted #授予允许权限
</Directory>
<virtualhost 192.168.20.130:8089>
DocumentRoot /www/8089/
</virtualhost> #配置虚拟端口网页的访问路径

设置selinux的上下文和bool值

首先查看http的端口上下文

semanage port -l | grep http

http_cache_port_t              udp      3130
http_port_t tcp 8088, 8089, 80, 81, 443, 488, 8008, 8009, 8443, 9000
pegasus_http_port_t tcp 5988
pegasus_https_port_t tcp 5989

开启seliunx添加两条端口号,则selinux不报错

semanage port -a -t http_port_t -p tcp 8088

semanage port -a -t http_port_t -p tcp 8089

但是防火墙会挡住不认识的端口8088与8089

设置防火墙添加端口

firewall-cmd --permanent --add-port=8088/tcp

firewall-cmd --permanent --add-port=8089/tcp

firewall-cmd --reload

配置tls加密

安装TLS加密软件

yum -y install mod_ssl

生成密钥

openssl genrsa > tlsweb.key

生成证书请求文件

openssl req -new -key tlsweb.key > tlsweb.csr

生成证书文件

openssl req -x509 -days 365 -key tlsweb.key -in tlsweb.csr > tlsweb.crt

修改ssl.conf配置文件

SSLCertificateFile /etc/pki/tls/certs/tlsweb.crt

SSLCertificateKeyFile /etc/pki/tls/private/tlsweb.key

将证书文件拷贝到对应目录

cp tlsweb.crt /etc/pki/tls/certs/

把秘钥文件拷贝到ssl.conf配置文件里的对应路径下面

cp tlsweb.key /etc/pki/tls/private/

重启httpd

可以使用更安全的https去访问网站

https://192.168.100.10

若防火墙阻拦则需要开启443端口

Linux httpd搭建的更多相关文章

  1. Linux下搭建个人网站

    前不久在阿里买了一个服务器,然后开始第一次尝试搭建自己的个人网站.前端采用了bootstrap框架,后端采用的是PHP,数据库使用的是Mysql.新手第一次在linux下搭建遇见很多问题,在这里分享一 ...

  2. Linux下搭建PHP环境

    转载于: http://www.uxtribe.com/php/405.html 该站下有系列PHP文章. 在Linux下搭建PHP环境比Windows下要复杂得多.除了安装Apache,PHP等软件 ...

  3. Linux下搭建tomcat集群全记录(转)

    本文将讲述如何在Linux下搭建tomcat集群,以及搭建过程中可能的遇到的问题和解决方法.为简单起见,本文演示搭建的集群只有两个tomact节点外加一个apache组成,三者将安装在同一机器上:ap ...

  4. linux 下搭建php环境

    linux 下搭建php环境 1.下载apache (http://httpd.apache.org/download.cgi) 下载php组件 ( http://cn2.php.net/get/ph ...

  5. linux局域网搭建yum仓库(本地(file)、网络(ftp、http))

    linux局域网搭建yum仓库(本地(file).网络(ftp.http)) yum配置文件解释: [ ]:定义仓库,base为仓库的名字,可任意 name:仓库的简短文字描述 baseurl:仓库的 ...

  6. linux下搭建lamp环境以及安装swoole扩展

    linux下搭建lamp环境以及安装swoole扩展   一.CentOS 6.5使用yum快速搭建LAMP环境 准备工作:先更新一下yum源  我安装的环境是:apache2.2.15+mysql5 ...

  7. Linux下搭建tomcat集群全记录

    (转) Linux下搭建tomcat集群全记录 2011-10-12 10:23 6133人阅读 评论(1) 收藏 举报 tomcatlinuxapacheinterceptorsession集群 1 ...

  8. Linux下搭建JSP环境

    Linux下搭建JSP环境     作为一名Java EE系统架构工程师,经常需要搭配和建立JSP(Java Server Pages)的开发环境和运行环境,所以本人在平时的工作中积累了一些在Linu ...

  9. Linux环境搭建-在虚拟机中安装Centos7.0

    最近在空闲时间学习Linux环境中各种服务的安装与配置,都属于入门级别的,这里把所有的学习过程记录下来,和大家一起分享. 我的电脑系统是win7,所以我需要在win7上安装一个虚拟机-VMware,然 ...

随机推荐

  1. idea Error: java: OutOfMemoryError: insufficient memory 的处理

    idea Error: java: OutOfMemoryError: insufficient memory处理 在更新项目代码或者运行项目时报错 OutOfMemoryError: insuffi ...

  2. ARC 119 补题记录

    这把感觉质量很高. \(E\) \(E\)比较简单所以先写个\(E\),考虑就一个置换操作来说改变的只有两端的值. 考虑\(|a_i - a_{i - 1}|\)变成区间,则我们考虑分类讨论,发现只有 ...

  3. 49-Reverse Linked List II

    Reverse Linked List II My Submissions QuestionEditorial Solution Total Accepted: 70579 Total Submiss ...

  4. kubernetes部署 flannel网络组件

    创建 flannel 证书和私钥flannel 从 etcd 集群存取网段分配信息,而 etcd 集群启用了双向 x509 证书认证,所以需要为 flanneld 生成证书和私钥. cat > ...

  5. (转载)Java生成和操作Excel文件

    JAVA EXCEL API:是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容.创建新的Excel文件.更新已经存在的Excel文件.使用该API非Windows操作系统也可以通过 ...

  6. Demo01无重复数字

    package 习题集2;//有1,2,3,4四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?public class Demo1 { public static void main(S ...

  7. Docker镜像相关操作

    批量导入镜像 ll *.tgz|awk '{print $NF}'|sed -r 's#(.*)#docker load -i \1#' |bash 批量打tag docker images | se ...

  8. abandon, abbreviation

    abandon 近/反义词: continue, depart, desert (做动词时读作diˈzəːt), discard, give up, quit, surrender搭配: altoge ...

  9. tomcat拦截特殊字符报400,如 "|" "{" "}" ","等符号的解决方案

    最近在做一个项目,需要对外暴露两个接口接收别人给的参数,但是有一个问题就是对方的项目是一个老项目,在传参数的时候是将多个字符放在一个参数里面用"|"进行分割,然而他们传参数的时候又 ...

  10. 【Android】No Android SDK found(mac)+ 真机调试

     [1]No Android SDK found 如果没下载SDK,可以去google官方下载 如果因为上网问题,这里提供两个网址,有人整理好了,这里先谢谢他们,下面两个择其一下载 http://to ...