Для персональных WEB-страниц и связанных с ними WEB-серверов, CGI-скрипты размещаются в подкаталоге CGI, который доступен владельцу WEB-страницы по протоколу FTP.
Для разрешения выполнения скрипта нужно разрешить чтение, запись и выполнение для владельца файла и запретить все действия для группы и остальных. При заходе на FTP через интерфейс командной строки, для этого необходимо выполнить команду
chmod 700 <имя_файла>
При правильно установленных правах на скрипт вывод команды ls выглядит так:
ftp>ls <filename>
150 Opening ASCII mode data connection for '/bin/ls'.
-rwx------ 1 <username> cgi 66 Aug 24 13:15 <filename>
226 Transfer complete.
На нашем сервере можно использовать CGI-скрипты, написанные на языках
- PERL (версия 5.8.8)
- PHP (версия 4.4.8 и версия 5.2.5)
Если в скрипте необходимо указать путь к sendmail, то укажтие "/usr/sbin/sendmail".
Для языка PERL путь к интерпретатору, записанный в первой строке скрипта, будет выглядеть так:
#!/usr/bin/perl
или
#!/usr/local/bin/perl
Для языка PHP путь к интерпретатору выглядит так:
CLI вариант интерпретатора | CGI вариант интерпретатора |
---|---|
#!/usr/local/bin/php или #!/usr/local/bin/php4-cli |
#!/usr/local/bin/php4-cgi (для PHP 4.4.8)или #!/usr/local/bin/php5-cgi (для PHP 5.2.5) |
Для персональной WWW-страницы единичного пользователя с именем пользователя "ИМЯ", CGI-скрипты доступны по
адресу http://www.dol.ru/cgi-bin/users/ИМЯ/
или http://ИМЯ.page.ru/cgi-bin/
Для пользователя ИМЯ виртуальной машины МАШИНА, CGI-скрипты доступны по адресу
http://www.dol.ru/cgi-bin/МАШИНА/ИМЯ/
или http://ИМЯ.МАШИНА.page.ru/cgi-bin/
Если с WWW-страницей пользователя Online-сервера или пользователя виртуальной машины связан виртуальный
WWW-сервер, например www.ИМЯ_ВАШЕГО_СЕРВЕРА.ru, то те же CGI-скрипты будут доступны и по адресу
http://www.ИМЯ_ВАШЕГО_СЕРВЕРА.ru/cgi-bin/
Список установленных модулей PERL:
Archive-Zip-1.16 | Provide an interface to ZIP archive files | |
Authen-SASL-2.09 | Perl5 module for SASL authentication | |
Compress-Zlib-1.35 | Perl5 interface to zlib compression library | |
DBD-mysql41-3.0002 | MySQL 4.1 driver for the Perl5 Database Interface (DBI) | |
DBI-1.48 | The perl5 Database Interface. Required for DBD::* modules | |
Data-ShowTable-3.3 | Perl5 module to pretty-print arrays of data | |
Digest-1.10 | Modules that calculate message digests | |
Digest-HMAC-1.01 | Perl5 interface to HMAC Message-Digest Algorithms | |
Digest-MD5-2.33 | Perl5 interface to the MD5 algorithm | |
Digest-SHA1-2.10 | Perl interface to the SHA-1 Algorithm | |
GD-2.25 | A perl5 interface to Gd Graphics Library version2 | |
HTML-Parser-3.45 | Perl5 module for parsing HTML documents | |
HTML-Tagset-3.04 | Some useful data table in parsing HTML | |
HTML-Template-2.7 | Perl module to use HTML Templates from CGI scripts | |
MD5-2.03 | Perl5 interface to MD5 Message-Digest Algorithm | |
MIME-Base64-3.05 | Perl5 module for Base64 and Quoted-Printable encodings | |
MIME-Lite-3.01 | A simple interface for creating (not parsing!) MIME messages | |
MIME-Types-1.16 | Definition of MIME types | |
Net-1.19 | Perl5 modules to access and use network protocols | |
Net-DNS-0.53 | Perl5 interface to the DNS resolver, and dynamic updates | |
Net-Daemon-0.38 | Perl5 extension for portable daemons | |
Net-IP-1.23 | Perl extension for manipulating IPv4/IPv6 addresses | |
PathTools-3.11 | A Perl module for portably manipulating file specifications | |
PlRPC-0.2018 | Perl module for writing RPC servers and clients | |
Pod-Parser-1.32 | Modules to work with POD (Plain Old Documentation) | |
Scalar-List-Utils-1.14 | Perl subroutines that would be nice to have in the perl core | |
Storable-2.15 | Persistency for perl data structures | |
Test-Harness-2.52 | Run perl standard test scripts with statistics | |
Test-Simple-0.60 | Basic utilities for writing tests in perl | |
URI-1.35 | Perl5 interface to Uniform Resource Identifier (URI) references | |
Text-Iconv-1.4 | Perl interface to iconv() codeset conversion function | |
XML-Parser-2.34 | Perl extension interface to James Clark's XML parser, expat | |
gettext-1.03 | Message handling functions | |
libwww-5.803 | Perl5 library for WWW access |