ubuntu部署http服务器

一、安装apache2

$ sudo apt install -y apache2

二、配置环境

默认是80端口,防止冲突自定义端口:8001

1.修改 /etc/apache2/ports.conf文件j监听端口

Listen 8001  ## 其它行不变

2.修改/etc/apache2/sites-enabled/000-default.conf文件端口与访问目录

<VirtualHost *:8001> ## 其他行不变

DocumentRoot /var/www/html   ## 浏览器访问目录

3.删除html网页文件

$ sudo rm /var/www/html/index.html 
ps:不删除,登录 http://{hostIP}:8001会进入网页

4.重启服务

$ sudo /etc/init.d/apache2 restart 

三、测试

1.测试访问:登录 http://{hostIP}:8001

> 成功访问到/var/www/html/目录下文件

2.测试下载

> 点击网页上文件,成功下载

四、常用命令

/etc/init.d/apache2 -h    查看帮助文档

/etc/init.d/apache2 start :	启动apache服务
/etc/init.d/apache2 stop :	停止apache服务
/etc/init.d/apache2 graceful-stop :优雅地停止apache服务。等任务结束,完成一些扫尾工作后再停止。
/etc/init.d/apache2 restart :	重启apache服务
/etc/init.d/apache2 reload :	重新加载配置文件
/etc/init.d/apache2 force-reload :强制重新加载配置文件

五、设置登录密码

  1. 安装apache-utils

    sudo apt-get update
    sudo apt-get install apache2-utils
    
  2. 生成 .htpasswd 文件
    推荐在网站根目录下生成.htpasswd 文件保存密码

    touch /var/www/html/网站根目录/.htpasswd             # 生成 .htpasswd 文件
    sudo htpasswd -c /var/www/html/网站根目录/.htpasswd  验证用户名
    

    验证用户名需要自行修改,重复两次后完成密码生成

  3. 使能 .htaccess 文件

    sudo vi /etc/apache2/apache2.conf
    

    找到以下内容

    <Directory /var/www/>
            Options Indexes FollowSymlinks
            AllowOverride all
            Require all granted
    </Directory>
    

    确认 AllowOverride all 这行是这样就可以了保存后输入以下命令

    sudo service apache2 restart    ## 重启apache2
    
  4. 修改.htaccess 文件, 没有添加
    在/var/www/html/.htaccess 文件的最后加入如下内容:

    AuthType Basic
    AuthName "Restricted Content"
    AuthUserFile /var/www/html/网站根目录/.htpasswd
    Require valid-user
    
### 在 Ubuntu 上配置 HTTPS 服务器 #### 配置 Nginx 的 SSL/TLS 设置 要在 Ubuntu 中通过 Nginx 启用 HTTPS,可以按照以下方法操作: 创建并编辑 Nginx 配置文件 `/etc/nginx/sites-available/default` 或者自定义站点配置文件。以下是典型的 Nginx 配置示例[^1]: ```nginx server { listen 80; server_name example.com; # 将 HTTP 请求重定向到 HTTPS return 301 https://$host$request_uri; } server { listen 443 ssl http2; server_name example.com; # 指定证书路径 ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # 增强安全性选项 ssl_protocols TLSv1.2 TLSv1.3; # 如果系统支持 TLS 1.3,则启用它 ssl_prefer_server_ciphers on; ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256'; ssl_session_timeout 1d; ssl_session_cache shared:MozSSL:10m; add_header Strict-Transport-Security "max-age=15768000"; location / { root /usr/share/nginx/html; index index.html index.htm; } } ``` 完成上述修改后,运行 `sudo nginx -t` 测试配置语法是否正确。如果无误,重启 Nginx (`sudo systemctl restart nginx`)。 #### 配置 Apache 的 SSL/TLS 设置 对于 Apache,在 Ubuntu 环境下可以通过 mod_ssl 来实现 HTTPS 支持。首先确认已安装模块并通过 Let’s Encrypt 获取免费证书。 编辑默认虚拟主机配置文件 `/etc/apache2/sites-available/default-ssl.conf` 并调整如下参数: ```apache <VirtualHost *:443> ServerName example.com SSLEngine on SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem DocumentRoot /var/www/html/ <Directory "/var/www/html"> Options Indexes FollowSymLinks MultiViews AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> ``` 注意:由于 OpenSSL 库版本限制 (如 openssl 1.0.2k),可能无法直接支持 TLS 1.3 协议[^2]。在这种情况下,建议升级至更高版本的 OpenSSL 和对应的 Apache 软件包来获得最新协议的支持。 最后一步是重新加载 Apache 配置以应用更改(`sudo a2ensite default-ssl && sudo service apache2 reload`)。 --- #### 安全加固措施 为了进一步提升安全等级,可采取以下额外步骤: - **更新 OpenSSL**: 若当前使用的 OpenSSL 不够新(例如低于 v1.1.x),则需手动编译安装较新的版本,并确保链接正确[^3]。 ```bash ln -sf /usr/local/openssl/bin/openssl /usr/bin/openssl ln -s /usr/local/ssl/include/openssl /usr/include/openssl ``` - **定期检查加密强度**: 利用工具 ssllabs.com 对公开网络中的 SSL/TLS 实现进行全面评估。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值