apache2 wordpress目录权限_WSL(ubuntu)的Apache2+CGI(包含CGICC)+SSL的配置

1855fa27bad07648a6d27d41226ff959.png

cat /etc/resolv.conf 显示WSL IP地址

一、 安装apache2

前提:先配置linux安装包镜像:https://www.jianshu.com/p/6b4463b6b39f

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bk 备份

然后 用Vim打开 :sudo vi /etc/apt/sources.list 修改

在退出:wq 保存

再安装 GUNhttps://devblogs.microsoft.com/cppblog/targeting-windows-subsystem-for-linux-from-visual-studio/

$ sudo apt install -y build-essential

$ sudo apt install -y gdbserver

最好 也执行下 sudo apt install gdb 后面能用到。,紧接着执行

sudo apt-get update sudo apt-get upgrade

1.1 apache2可直接用命令安装(若之前没安装过)

sudo apt-get install apache2 (以下都是在bash下输入就行) (whereis 包)查看包安装路径

2.2 卸载比较麻烦,必须卸干净,否则会影响apache2再安装

(1)先移除相关文件包

sudo apt-get --purge remove apache2

sudo apt-get --purge remove apache2.2-common

sudo apt-get autoremove

问题:若在这一步卸载后出现Unable to locate package错误。

则输入:sudo apt-get update 后输入 sudo apt-get upgrade 再重复上面指令。

(2)找到没有删除掉的配置文件,一并删除

sudo find /etc -name "*apache*" -exec rm -rf {} ;

sudo rm -rf /var/www

(可选)sudo rm -rf /etc/libapache2-mod-jk

(3)查看安装成功否,安装位置,查看Apache版本

(可选)sudo system status apache2

whereis apache2

apache2 -v

(4)开启/重启apache2服务

sudo service apache2 start/restart 或者 sudo httpd -k start/restart

sudo /etc/init.d/apache2 start/restart

(5)浏览器验证 http://localhost(或者输入本机服务器IP http://127.0.0.1),查看Apache服务器默认网页是否运行正常,网页图如下:

7ea2fe400f3a1097df7996a4cd950675.png

二、配置文件

2.1 apache2配置文件简单说明如下图

97777df266e075addc95e5dcebe83a5f.png
  • apache2.conf 路径 /etc/apache2/apache2.conf

主配置文件,主要用来读取其他配置文件,同时有少量服务器配置(超时时间,网站根目录等)

  • ports.conf 路径/etc/apache2/

监听端口配置

  • ****-enabled/ 路径同上

全部是指向 ***-available 下的文件的软链接,通过增删软链接来动态修改功能

严格来说,apache2的配置文件是分散的。apache先加载apache2.conf,然后根据apache2.conf里的Include指令载入其他配置文件。

  • 动态模块的配置

Include mods-enabled/*.load

Include mods-enabled/*.conf

  • 用户自己的配置

Include httpd.conf

  • 端口监听的配置

Include ports.conf

  • 一般性的配置语句片断

Include conf.d/

  • 虚拟主机的配置指令

Include sites-enabled/ web的默认根目录是在/var/www/html,设置是在/etc/apache2/sites-enabled(或者sites-available)/000-default 见如下:可以自定义修改web根目录。若修改上述文件不行还得一同修改/etc/apache2下的apache2.conf,下面代码一样,都是找到<Directory /var/www/>这个参数,把其中的/var/www/ 改为自己想自定义的目录,比如var/www/cgi-bin

具体为:

1).编辑/etc/apache2/apache2.conf这个主配置文件,找到<Directory /var/www/>这个参数,把其中的/var/www/改为自己想自定义的目录。

2).编辑/etc/apache2/sites-available/000-default.conf这个默认配置文件,找到”DocumentRoot /var/www/html” 这个参数,把其中的/var/www/html同样修改为自己想自定义的目录。

<
  • web的默认主页是在/etc/apache2/mods-enabled/dir.conf里

DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm

  • XXX-enabled 和XXX-available目录,

XXX-enabled中放的是指向XXX-available中相应文件的符号链接,不过虽然如此,只有用ln命令把XXX-available中的文件链接到XXX-enabled中才能起作用。(比如接下来的CGI配置)在/var/www下创建一个目录 cgi-bin,作为cgi程序存放的地点,

2.2.修改完配置后需要重启Apache服务。

sudo /etc/init.d/apache2 restart

在浏览器地址栏输入服务器IP测试,此时显示的是自定义目录下的文件,如下图

717e0c5fea37268c90e5a3b8845d7b28.png

问题:软链接与硬链接?见 https://www.jianshu.com/p/b035d94fa959

ubuntu下文件颜色代表意思?见https://blog.csdn.net/AC_huang/article/details/24669589

三、CGI 配置

方法一

3.1添加CGI模块

就是在httpd.conf里没注释掉 LoadModule cgid_module modules/mod_cgid.so 这一行

188d944297166d08184521c6abbc0b87.png

但是最新版本 已经去掉了该模块。

537f51cce347a3a85dc7a5229fb034ed.png

3.2 创建两个软链接:

sudo ln -s /etc/apache2/mods-available/cgid.conf /etc/apache2/mods-enabled/cgid.conf

sudo ln -s /etc/apache2/mods-available/cgid.load /etc/apache2/mods-enabled/cgid.load

95cfe48da3c7f0feb87c8d9d2adb7128.png

3.3修改./conf-available/serve-cgi-bin.conf

在之前 /var/www下创建的目录 cgi-bin,作为cgi程序存放的地点 (原先是:/usr/lib/cgi-bin/)

<

主要是修改 ScriptAlias /cgi-bin/ [脚本所在目录] 任何以/cgi-bin/开头的资源都将映射到/usr/lib/cgi-bin/目录中,且视之为CGI程序。和 <Directory "[脚本所在目录]">,同时添加 AddHandler cgi-script .cgi .py .sh表示支持以.cgi .py .sh结尾的程序。

3.4配置虚拟服务器

在 /etc/apache2/sites-enabled/000-default

<VirtualHost *:80>
        (此处省略)

        Include conf-available/serve-cgi-bin.conf
</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

在Virtualhost最后添加 Include conf-available/serve-cgi-bin.conf 即可(也可能是注释去掉)

3.5 重启apache服务

sudo /etc/init.d/apache2 restart

注意:cgi程序的权限必须是755(并可运行)。

3.6 测试cgi是否可以运行

在自定义的想测试目录/cgi-bin/中创建一个测试CGI脚本为test.cgi,因为调用的是Python,使用前肯定要有Python这个解释器啦!但所幸Ubuntu16.04默认安装了Python所以就不多赘述了。脚本内容如下:

#

记得修改cgi脚本的权限。CGI程序属性一定要设为可运行(755),而与CGI有关的HTML文件的目录如果要被CGI程序写入,其权限一定要设为可写(666)。

例如我测试的CGI脚本所在目录为/dd/test.cgi,那么命令就是:

sudo chmod 755 /dd/test.cgi

修改权限后,接下来在浏览器调用测试,在浏览器地址栏中输入地址:http://localhost/cgi-bin/test.cgi,出现如下图 所示就表示CGI脚本调用成功:

7e69ebb00e20a3832e0cf0b736fb61a3.png

3.7 C/C++编写CGI之安装cgicc模块

https://cloud.tencent.com/developer/article/1145629

问题FTP的配置参考https://blog.csdn.net/taotongning/article/details/81777989

http://www.gnu.org/software/autoconf/ 关于 'autoheader' is missing on your system.

四、SSL设置

4.1创建SSL目录

sudo mkdir /etc/apache2/ssl

4.2创建自签名凭证,内容随便填

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt

4.3开启SSL 模块

a2enmod ssl

4.4编辑/etc/apache2/sites-enabled/default-ssl.conf

ServerAdmin webmaster@localhost

ServerName http://www.linuxidc.com:443

SSLEngine on SSLCertificateFile /etc/apache2/ssl/apache.crt

SSLCertificateKeyFile /etc/apache2/ssl/apache.key

4.5启动虚拟主机

a2ensite default-ssl

4.6重启apache

sudo service apache2 restart

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值