Ceci est un mémo personnel pour un débutant complet du programme CGI. C'est la première fois que j'écris un article comme celui-ci, donc je pense que c'est peut-être disgracieux, mais pardonnez-moi s'il vous plaît. Si vous avez des conseils ou des suggestions, je vous serais reconnaissant de bien vouloir commenter.
Je souhaite exécuter et tester un programme CGI écrit en Ruby dans un environnement de serveur local.
Le serveur HTTP d'Apache est utilisé comme serveur.
Comment utiliser AN-HTTPD (Référence: http://www.aikis.or.jp/~s-suzuki/cgilabo/localserver/) Il semble y en avoir, mais l'URL de la source est morte. Il semble que vous puissiez le télécharger à partir de l'archive (Référence: https://www.nishishi.com/blog/2019/02/an_httpd_waybac.html) Cependant, Je l'ai essayé mais cela n'a pas fonctionné.
Bien que cela n'ait rien à voir avec cette motivation, j'ai ajouté Perl au programme CGI car cela semble être un standard (c'est vrai).
Téléchargez la dernière version (5.28.1) depuis le site ActivePerl (https://www.activestate.com/)
Connexion (connexion requise / connexion possible avec un compte GitHub) -> Featured Projects & Languages -> Windows dans le cadre d'ActivePerl 5.28 -> Cliquez sur Windows10 .msi ʻActivePerl-5.28.1.0000-MSWin32-x64-b462fde1.msi` Télécharger et installer
☆ Pendant l'installation Le type d'installation est typique Dans les options de configuration, Avec "Ajouter Perl à la variable d'environnement PATH" Cochez "Créer une association d'extension de fichier Perl". (Référence: https://www.hiskip.com/pg-notes/how-to-install/develop-kit/active-perl526.html)
Après l'installation, un répertoire appelé Perl64
est placé sous C: ( C: \ Perl64
).
Depuis RubyInstaller (https://rubyinstaller.org/downloads/) Téléchargez la dernière version (2.7.1-1)
Téléchargez et installez rubyinstaller-2.7.1-1-x64.exe
☆ Pendant l'installation Pour la même raison qu'en Perl "Ajouter des exexutables Ruby à votre PATH" Cochez «Associer les fichiers .rb et .rbw à cette installation Ruby».
Après l'installation, un répertoire appelé Ruby27-x64
est placé sous C: ( C: \ Ruby27-x64
).
Depuis le site de téléchargement du serveur HTTP d'Apache (http://httpd.apache.org/download.cgi) Téléchargez la dernière version (2.4.43)
Apache HTTP Server Server 2.4.43 (httpd): 2.4.43 is the latest available version
-> Files for Microsoft Windows
-> Apache Lounge (Spécifiez la destination de téléchargement, tout va bien)
-> httpd-2.4.43-win64-VS16.zip
Téléchargez et décompressez
Après le déballage, il y a un répertoire appelé ʻApache24 sous le répertoire
httpd-2.4.43-win64-VS16. Vous pouvez le faire, alors mettez-le sous C: (
C: / Apache24`).
ʻApache24 / conf / http.conf` est un fichier de configuration Apache (httpd). Modifiez ceci. Ci-dessous, éditez les points
Paramètre de l'emplacement d'exécution #CGI ScriptAlias /cgi-bin/ "C:/Apache24/cgi-bin/"
# Autoriser l'exécution de CGI <Directory "C:/Apache24/cgi-bin"> AllowOverride All Options Indexes FollowSymLinks ExecCGI Require all granted </Directory>
# Activer l'utilisation des extensions .cgi et .pl .rb AddHandler cgi-script .cgi .pl .rb
# Ver2 qui permet l'utilisation des extensions .cgi et .pl .rb AddType application/x-httpd-cgi .cgi AddType application/x-httpd-cgi .pl AddType application/x-httpd-cgi .rb
(Référence 1: https://phpjavascriptroom.com/?t=php&p=cgi#google_vignette) (Référence 2: https://qiita.com/hirotoyoshidome/items/6d103e04dd07e90519d2) Les deux premiers sont des remerciements spéciaux
Cliquez ici pour la différence entre AddHandler et AddType (https://senooken.jp/post/2019/06/01/)
ʻApache24 / bin / httpd.exe` peut être exécuté pour démarrer le serveur HTTP d'Apache.
Je n'ai pas pu exécuter httpd.exe
et je me suis référé à (http://t12488mac.blogspot.com/2011/06/windowsapache.html).
ʻSi vous cliquez sur httpd.exe -t
dans le répertoire Apache24 \ bin Il m'a dit: "Il y a une mauvaise description dans
httpd.conf` et je ne peux pas l'exécuter."
Quand je l'ai réparé, il a été corrigé (naturellement)
Programme CGI Placez-le sous ʻApache24 / cgi-bin`.
La description suivante sur la première ligne du programme CGI de ruby
#!/Ruby27-x64/bin/ruby
Ou
#!C:/Ruby27-x64/bin/ruby
La description suivante sur la première ligne du programme CGI de perl
#!/perl64/bin/perl
Ou
#!C:/Ruby27-x64/bin/ruby
Lorsque vous atteignez l'état qui remplit les trois conditions suivantes, vous pouvez enfin l'afficher sur le navigateur.
httpd.conf
d'Apache a été correctement éditéhttpd.exe
est exécuté)
--ʻUn état où un programme CGI (**. Cgi
) est placé sous Apache24 / cgi-bin`Dans la barre d'URL du navigateur
http://127.0.0.1/cgi-bin/**.cgi
Ou
http://localhost/cgi-bin/**.cgi
Si vous entrez, la page que vous avez écrite sera affichée dans le navigateur.
Ceci termine l'opération dans l'environnement de serveur local.
La mise en page du répertoire liée à celle présentée dans cet article est indiquée ci-dessous.
C:/ ├ Perl64 │ ├ bin │ │ ├ Perl.exe │ : : │ ├ Ruby27-x64 │ ├ bin │ │ ├Ruby.exe │ : : │ ├ Apache24 │ ├ bin │ │ ├ httpd.exe │ │ : │ │ │ ├ conf │ │ ├ httpd.conf │ │ : │ │ │ ├cgi-bin │: └ **. Cgi (fichier CGI personnalisé) │ : ::
En tâtonnant, j'ai pu tester un programme CGI écrit en Ruby dans un environnement de serveur local. fatigué.