Поместите "first.txt" в тот же каталог. Видишь? Если это так, то вы знаете, что проблема связана с тем, что это сценарий CGI, а не какая-то другая проблема.
Также попробуйте следующее:
/opt/local/apache2/cgi-bin/first.cgi
chmod + x / opt / local / apache2 / cgi-bin / first.cgi
chmod 755 /opt/local/apache2/cgi-bin/first.cgi
http: //localhost/cgi-bin/first.cgi
Если это не работает, проверьте реальность, что Perl находится там, где вы думаете:
/ usr / bin / perl --version
Следующие шаги сработали для меня на High Sierra с Apache 2.4
(на основе следующего отличного руководства: http://www.cgi101.com/book/connect/ mac.html , обновлен с дополнительными шагами для различий в версиях)
1) Переместите файл в:
/Library/WebServer/CGI-Executables
2) Убедитесь, что файл имеет разрешения на выполнение:
ls -l /Library/WebServer/CGI-Executables
Если не используется:
chmod -x /Library/WebServer/CGI-Executables/myfile.cgi
3) Раскомментируйте следующие строки в /etc/apache2/httpd.conf
AddHandler cgi-script .cgi .pl
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
LoadModule cgi_module libexec/apache2/mod_cgi.so
4) Также измените раздел Directory "/ Library / WebServer / CGI-Executables" на:
<Directory "/Library/WebServer/CGI-Executables">
AllowOverride None
Options ExecCGI
Require all granted
</Directory>
5) Затем перезапустите Apache:
sudo apachectl -k restart
Почти с каждым с новой версией Mac OS изменения будут потеряны, и вам нужно будет повторить работу и даже выполнить другие действия, чтобы исправить это. Ваш лучший друг - журналы Apache, расположенные в / var / log / apache2 / (/ var / log / apache2 / error_log)