Я очень новичок в xampp. Я сделал новую установку xampp со следующими командами.
sudo su
cd /tmp
wget bit.ly/1cmyrUo -O xampp-32bit.run
chmod 777 ./xampp-32bit.run
sudo ./xampp-32bit.run
Затем я создал файл perl, чтобы проверить, работает ли мой xampp. Ниже приведено содержимое моего файла sample.pl
.
#!usr/bin/perl
print "content-type:text/html\n";
print(header());
use CGI qw(:standard);
print(start_html());
print "Hello. I am ram";
print(end_html());
После копирования моего perl-файла из /home/vicky/desktop
в /opt/lampp/cgi-bin
.
Я запустил свой xampp с помощью следующей команды.
/opt/lampp/lampp start
Затем я запустил свой sample.pl
на локальном хосте с помощью http://localhost/cgi-bin/sample.pl
в моем браузере Mozilla. Я только что получил следующее окно.
Я нашел только ответы, связанные с «ошибкой новой концепции безопасности» и «проблемой доступа к виртуальному хосту».
Я наткнулся на запрос askubuntu , ставку, аналогичную моей. У него не было ответов, но были некоторые комментарии. Один комментарий предложил изменить права доступа к файлу. Он направлен на получение помощи от здесь .
Было сказано изменить разрешение каталога на 755, а разрешение файла - 644, чтобы решить проблему такого рода. Когда я попытался сделать это, я узнал, что мой каталог cgi-bin уже имел разрешение 755, а мой sample.pl
имел разрешение 644. У меня сейчас нет решений.
PostScript: я приложил содержимое моего файла /opt/lampp/apache2/conf/httpd.conf . Надеюсь, что это поможет поставщикам ответов полностью понять мою проблему.
Alias /bitnami/ "/opt/lampp/apache2/htdocs/"
Alias /bitnami "/opt/lampp/apache2/htdocs"
<Directory "/opt/lampp/apache2/htdocs">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
Попытайтесь изменить владельца и группу для файлов апачу,
В человечности, апачский пользователь является www-данными в терминале:
$ sudo chown -R www-data:www-data PUBLICFOLDER
И обновление браузер.
Как я вижу в Вашем вопросе, Вы используете Apache 2.4.7 , но Ваше использование httpd.conf директива Apache 2.2.
Согласно руководство Apache 2.4:
Управление доступом
В 2,2, управление доступом на основе клиентского имени узла, IP-адреса и других характеристик клиентских запросов были сделаны с помощью направляющего Порядка, Позвольте, Отклоните и Удовлетворите.
В 2,4, такое управление доступом сделано таким же образом, поскольку другая авторизация проверяет, с помощью нового модуля mod_authz_host. Старые идиомы управления доступом должны быть заменены новыми механизмами аутентификации, хотя для совместимости со старыми конфигурациями, новый модуль mod_access_compat обеспечивается.
Попытка это изменяется:
<Directory "/opt/lampp/apache2/htdocs">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Позволяют , и отклоняют направляющие средства управления, какие хосты могут или не могут получить доступ к области сервера, Требуют тесты, авторизовывается ли аутентифицируемый пользователь по словам конкретного поставщика авторизации и указанных ограничений. Требуют весь предоставленный , доступ средств предоставляется безусловно, позвольте, см. Вне просто авторизации
Обновление после того, чтобы читать конфигурационный файл:
Ваш конфигурационный файл по умолчанию является правильным. Проблемой является неправильная хижина в сценарии жемчуга.
Попытка это:
#!/usr/bin/perl
Также:
chmod +x /opt/lampp/cgi-bin/yourScript.pl
Здесь полезная ссылка о проблеме разрешения файла
1133-секундное обновление
Изменение http заголовок содержания:
print "Content-type:text/html\n";
Этот заголовок прочитан апачем.
Вы апач работает как daemon
пользователь, проверьте, читаем ли каждый каталог в пути сценария.
$ cd /opt/lampp
$ sudo chmod 777 -R htdocs
И редактирование httpd.conf
(с чем-то как sudoedit /opt/lampp/etc/httpd.conf
) и изменение:
<Directory />
AllowOverride none
Require all denied
</Directory>
К:
<Directory "/opt/lampp/apache2/htdocs">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>