--Windows 10 sur le bureau est fou --Django n'a pas pu être utilisé ――Mais je veux le faire ressembler à une application Web!
___C'est tout! Faisons CGI! ___ J'ai décidé de commencer par un processus très pathétique. Quand je l'ai essayé, il est resté coincé dans un endroit délicat, donc je vais vous présenter ___ que cela devrait fonctionner pour le moment si vous suivez cette rue.
sudo apt install apache2
Il n'y a aucun problème avec cette ligne. Si "LAMP Server" est sélectionné lors de l'installation d'Ubuntu Server, l'installation est déjà terminée et peut être ignorée.
user@hostname:~# sudo a2enmod cgid
Enabling module cgid.
To activate the new configuration, you need to run:
systemctl restart apache2
user@hostname:~# sudo systemctl restart apache2
Si l'activation est réussie, / usr / lib / cgi-bin
sera reconnu comme la racine du document de CGI.
Dans l'état actuel des choses, l'emplacement est trop différent de la racine normale du document / var / www / html
et c'est gênant, alors changez la racine du document.
Créez un nouveau fichier.
user@hostname:~# sudo vi /etc/apache2/conf-available/cgi-bin.conf
Contenu
/etc/apache2/conf-available/cgi-bin.conf
<Directory "/var/www/cgi-bin">
Options +ExecCGI
AddHandler cgi-script .cgi .py
</Directory>
Une fois créé, Apache2 doit reconnaître le fichier de configuration.
user@hostname:~# mkdir /var/www/cgi-bin
user@hostname:~# sudo a2enconf cgi-bin
Enabling conf cgi-bin.
To activate the new configuration, you need to run:
service apache2 reload
user@hostname:~# sudo systemctl restart apache2
--Shebang est requis
Les autorisations du fichier peuvent être incorrectes. Ouvrez l'emplacement du fichier dans le terminal et définissez les autorisations.
user@hostname:~# sudo chmod 755 xxx.cgi
Probablement le code d'erreur le plus déroutant. Voici deux éléments les plus courants pour consulter le journal des erreurs.
Si ModuleNotFoundError: No module named'hoge'
s'affiche, appuyez simplement sur pip install hoge
.
Si vous ne pouvez pas l'installer avec la commande pip, vous pouvez le rechercher depuis Github.
Dans l'exemple que j'ai réellement rencontré, si seuls des caractères demi-largeur étaient utilisés, ils étaient affichés sans problème, mais si des caractères pleine largeur étaient inclus, une erreur se produisait. Il est difficile de le traiter dans le script car il était brouillé au moment de la lecture du fichier par tous les moyens. Par conséquent, modifiez les paramètres d'Apache2.
/etc/apache2/conf-available/charset.conf
#PostScript d'une ligne
AddDefaultCharset UTF-8
Dans le cas de l'auteur, cela a été résolu.
-Est-ce que le port du routeur est ouvert?
sudo ufw allow 80
Re-examinons ces possibilités.