[CENTOS] vagrant + ContOS7 + php7.2 + nginx + phalcon4 Construction de l'environnement et enregistrement des problèmes

vagrant + ContOS7 + php7.2 + nginx + phalcon4 Construction de l'environnement et enregistrement des problèmes

Référence: https://qiita.com/wjtnk/items/f2d72fb3790d008a3154

Installation de l'outil: https://www.virtualbox.org/ https://www.vagrantup.com/

1. Lancement d'un environnement virtuel

$ mkdir phalcon
$ cd phalcon
$ mkdir sync
$ vagrant init CentOS7

Modifier phalcon / Vagrantfile

Vagrant.configure("2") do |config|
  config.vm.box = "centos/7"
  #Adresse IP pour l'accès local.
  config.vm.network "private_network", ip: "192.168.10.10"
  #Spécifiez la destination de synchronisation. "Répertoire actuel (.)/Synchroniser sous vagrant "et" répertoire de synchronisation/var/www/Synchronisez ci-dessous.
  config.vm.synced_folder ".", "/vagrant"
  config.vm.synced_folder "sync", "/var/www/"
  config.vm.network "forwarded_port", guest: 80, host: 8080
  #Utilisons maintenant epel et remi.
  config.vm.provision "shell", inline: <<-SHELL
    sudo yum update -y
    sudo yum -y install epel-release
    sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
  SHELL
end

Lancer vagrant

$ cd phalcon
$ vagrant up --provision

Si une erreur se produit, traitez-la avec un message d'erreur.

https://qiita.com/chubura/items/4166585cf3f44e33271d

Vagrant was unable to mount VirtualBox shared folders. This is usually
because the filesystem "vboxsf" is not available. This filesystem is
made available via the VirtualBox Guest Additions and kernel module.
Please verify that these guest additions are properly installed in the
guest. This is not a bug in Vagrant and is usually caused by a faulty
Vagrant box. For context, the command attempted was:

La solution est:

$ vagrant plugin install vagrant-vbguest

2. Installez les applications requises dans l'environnement virtuel

$ vagrant ssh
$ sudo yum install --enablerepo=remi-php72 php php-mbstring php-mcrypt php-mysqlnd php-pdo php-fpm nginx -y

Modifier les paramètres php-fpm

$ sudo vi /etc/php-fpm.d/www.conf

Remarque: recherchez dans vim avec "/"

/etc/php-fpm.d/www.conf


; user = apache 
; group = apache
; listen = 127.0.0.1:9000
;listen.owner = nobody
;listen.group = nobody

user = nginx    
group = nginx    
listen = /run/php-fpm/php-fpm.sock  
listen.owner = nginx 
listen.group = nginx   

Modifier les paramètres de nginx

sudo vi /etc/nginx/nginx.conf

Pour root, spécifiez le répertoire racine spécifié dans le Vagrantfile mentionné ci-dessus. J'ai défini "autoriser tout;", mais lorsque vous utilisez Nginx pour contrôler l'accès par adresse IP, définissez-le séparément. référence: https://dev.classmethod.jp/articles/nginx-ip-access-control/

/etc/nginx/nginx.conf


 server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  _;
        root         /var/www;
        index index.php index.html index.htm;
        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;
        location / {
            #$_SERVER['REQUEST_URI']utilisation
            try_files $uri $uri/ /index.php;
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }

        location ~ .php$ {
            fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
            include fastcgi_params;
        }
    }

À ce stade, testez le serveur une fois

$ exit
$ cd sync
$ touch index.php

index.php


<?php phpinfo();

Une fois les paramètres définis, vérifiez si le fichier est reflété dans l'environnement virtuel.

[vagrant@localhost /]$ cd var/www
[vagrant@localhost www]$ ls
cgi-bin  html  index.php

Démarrez le serveur. Remarque: un redémarrage est nécessaire lorsque de nouveaux ajouts tels que les extensions php se produisent.

$ vagrant ssh
$ sudo systemctl restart php-fpm
$ sudo systemctl restart nginx

##Vérification de l'état, réussie si active
$ sudo systemctl status php-fpm
$ sudo sudo systemctl status nginx

Si vous accédez à 192.168.10.10 et que la page phpinfo apparaît, vous avez réussi.

Parfois, dans le cas de "403 Forbidden in Nginx", il existe une solution de contournement pour soit modifier les permissions des fichiers sous "/ var / www" soit désactiver SELinux. Référence: https://engineers.weddingpark.co.jp/?p=1765

3. Installez phalcon4

$ sudo yum install --enablerepo=remi-php72 php-phalcon4 -y

Trouvez le phalcon.so installé.

$ find / -name phalcon.so

Trouvé dans les endroits suivants.

/usr/lib64/php/modules/phalcon.so
/usr/lib64/php-zts/modules/phalcon.so
php --info | grep phalcon

Si vous sortez ci-dessous, vous avez terminé:

/etc/php.d/50-phalcon.ini
phalcon
phalcon => enabled

Accédez à nouveau à 192.168.10.10, et si "phalcon" apparaît sur la page phpinfo, c'est réussi. スクリーンショット 2020-09-09 15.20.36.png

Recommended Posts

vagrant + ContOS7 + php7.2 + nginx + phalcon4 Construction de l'environnement et enregistrement des problèmes
Résumé de la construction de l'environnement avec rvm et postgresql
Construction d'un environnement Java minimal et Hello World