记录deepin配置apache+cgi

本文记录了在Deepin系统中安装Apache并配置运行CGI程序的步骤,包括Apache的安装、CGI包下载及安装、VSCode与CGI的配合,以及Apache运行CGI文件的配置。在配置过程中,遇到的依赖问题、权限不足问题以及模块加载问题都得到了解决。

1.apache 安装

直接从源下的,apt-get install apache2

2.cgi 包下载

最开始是 wget gnu 上的最新版本,然后提示缺少依赖包( autoheader\perl 之类的),就继续下依赖包,但是导进去貌似把二进制文件弄乱了...结果没法 make ,然后下了个2014年的版本,就没有依赖包的问题.

3.cgi 和 vscode 配合(有问题)

下完了之后放在了 /usr/include/c++ 目录下,和其他的cpp头文件放一块.在 vscode 中就可以找到包了,但是 make 的时候没法自动找到,改了 target.json 也不可以(可能没改对),得手动用g++ -lcgicc才可以编译成功.

4.apache 运行 .cgi 文件的配置

apache 默认运行 cgi 目录为 /var/www/cgi-bin ,为了能通过网页上访问 cgi-bin 上的 cgi 文件,要进行两个配置文件的配置+1个加载apache 的 cgi 模块的操作.

1)配置访问 cgi 目录的虚拟站点(能够让网页找到此目录,以及执行 cgi 文件)

配置代码:


<Directory "/var/www/cgi-bin">
   AllowOverride None
   Options ExecCGI
   Order allow,deny
   Allow from all
</Directory>
AddHandler cgi-script .cgi .pl

2)在 /etc/apache2/sites-available 中添加我们自定义的站点配置文件信息( cgi.conf )

光配置了上面的,还不可以成功访问,会出现权限不足的问题.还需要在 /etc/apache2/sites-available 里面添加关于我们新增加的虚拟站点的访问信息.新建一配置文件 cgi.conf ,配置如下(我是 copy 了 apache 的一份原生配置然后照着它改的):

<VirtualHost *:80>
        ServerName www.cgi.com
	ServerAdmin webmaster@localhost
	DocumentRoot /var/www/cgi-bin
	ErrorLog ${APACHE_LOG_DIR}/error.log
	CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

3)加载 apache 的 cgi 模块

刚开始配置要不就是提示找不到页面,要不就是找到了但是是直接下载cgi文件而不是运行的情况.后来发现是没有加载 apche 的 cgi模块,无法运行,执行命令:

sudo a2enmod cgi

后,然后重启服务,就可以通过在网页上访问来运行 cgi 程序了.

4)例子

我在/var/www/cgi-bin 下写了一个cpp文件,代码如下:

#include <iostream>
using namespace std;
 
int main ()
{
    
   cout << "Content-type:text/html\r\n\r\n";
   cout << "<html>\n";
   cout << "<head>\n";
   cout << "<title>Hello World - 第一个 CGI 程序</title>\n";
   cout << "</head>\n";
   cout << "<body>\n";
   cout << "<h2>Hello World! 这是我的第一个 CGI 程序</h2>\n";
   cout << "</body>\n";
   cout << "</html>\n";
   
   return 0;
}

然后编译生成了可执行文件,把可执行文件改名为 cpp.cgi (以cgi后缀结尾的文件),接着在网页上访问此文件即可得到结果.

访问站点 www.cgi.com/cpp.cgi,网页就会出现hello world了.

 

总结:网上找解决方法有时候真的像大海捞针,每个人的方法都不同,要自己尝试成功后,再去理解配置的每一步,这样下次遇到类似的问题时才会有参考,而不是随便配好了就完事了.

Deepin系统中配置Visual Studio Code (VSCode) 的 C++ 开发环境,你需要安装C/C++插件,并设置编译工具链。以下是详细的步骤: 1. **安装VSCode**: - 如果你还没有安装VSCode,可以从官方下载页面(https://code.visualstudio.com/)下载并安装。 2. **安装C/C++插件**: - 打开VSCode,点击左下角的“Extensions”(扩展)图标,搜索 "C/C++" 或者 "C++ extension for Visual Studio Code",选择Microsoft的官方插件 "C/C++", 点击 "Install" 安装。 3. **配置C++工具链**: - 在VSCode中,按下 `Ctrl + ,`(Windows/Linux)或 `Cmd + ,`(Mac)打开用户设置(settings.json),添加或编辑C++配置部分: ```json { "C_Cpp.intelliSenseEngine": "gcc-x64", "C_Cpp.default.compilerPath": "/usr/bin/g++", // 根据你的Deepin系统路径替换,通常是gcc或g++ "C_Cpp.default.includePath": [ "${workspaceFolder}/**" ], "C_Cpp.default.cppStandard": "c++17", // 设置你的C++标准,如c++11、c++14等 "C_Cpp.default.cppStandardVersion": "latest", // 使用最新版本的标准 } ``` - 请注意,“compilerPath”需要指向你的GCC或Clang的完整路径。 4. **配置构建任务**: - 右键点击工作区,选择“Tasks: Configure Task”,创建一个新的C/C++任务文件tasks.json,配置构建命令: ```json { "version": "2.0.0", "tasks": [ { "label": "build", "type": "shell", "command": "g++ ${file} -o ${fileWithoutExtension}", // 这里假设你是想通过g++编译 "problemMatcher": [] } ] } ``` 5. **启用调试支持**: - 如果你想进行调试,还需要安装"Debugger for GDB"或"LLDB"插件,并配置相应的launch.json文件。 完成以上设置后,你应该可以在VSCode中正常编写、编译和调试C++代码了。如果遇到问题,可以检查你的系统是否安装了必要的库,例如CMake或g++
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值