$ sudo apt update
$ sudo apt upgrade
Et garder l\'adresse ip v4 pour la connexion au domaine
Dans la gestion des domaines d\'ovh, la cible du domaine pour un site web est de type A
Pour la modification du lien du domaine recopier à l'emplacement prévu l\'adresse ip V4 du vps
La seconde fenêtre sert de vérification des valeurs
Ne pas oublier de modifier le sous-domaine de base www
$ sudo apt install apache2 php libapache2-mod-php mysql-server php-mysql
$ sudo mysql
mysql> create user <username> identified by <yourpassword> ;
mysql> grant all access to <username> ;
mysql> exit ;
$ sudo apt install composer
$ sudo apt install php-gd php-xml php-dom php-fpm php-curl php-intl php-json php-mbstring php-zip
$ sudo apt acl
$ sudo a2enmod proxy_fcgi setenvif
La mise en place doit obligatoirement se faire dans un sous-répertoire de /var/www/. Par défaut les .htaccess sont désactivés
$ HTTPDUSER=$(ps axo user,comm | grep -E '[a]pache|[h]ttpd|[_]www|[w]ww-data|[n]ginx' | grep -v root | head -1 | cut -d\ -f1)
$ sudo setfacl -dR -m u:"$HTTPDUSER":rwX -m u:$(whoami):rwX var
$ sudo setfacl -R -m u:"$HTTPDUSER":rwX -m u:$(whoami):rwX var
Créer le .env.local avec vos données de production. Pour la connection de la base de données elle doit être conforme à la norme des liens html
$ sudo composer install
$ sudo apt npm
$ sudo npm install
$ sudo npm run build
Contenu du fichier conf
<VirtualHost *>
ServerName blog-db.fr
ServerAlias www.blog-db.fr
ServerAdmin ubuntu@localhost
DocumentRoot /var/www/<your_subdirectory>/public
DirectoryIndex /index.php
ErrorLog /var/log/apache2/project_error.log
CustomLog /var/log/apache2/project_error.log combined
<Directory /var/www/<your_subdirectory>/public>
AllowOverride None
Order Allow,Deny
Allow from All
FallbackResource /index.php
</Directory>
<Directory /var/www/<your_subdirectory>/public/bundles>
DirectoryIndex disabled
FallbackResource disabled
</Directory>
</ VirtualHost>
pour information le nom du site c\'est le nom du fichier conf sans l'extension
$ sudo a2ensite <site>
$ sudo systemctl reload apache2
$ sudo a2dissite <site>
$ sudo systemctl reload apache2
une fois vos données environnemental OK
$ php bin/console doctrine:database:create
$ php bin/console doctrine:migrations:migrate
Le code ci-dessous pour crypter le mot de passe de l'administrateur, et récupérer son hash
$ symfony console security:hash-password
$ mysql -u <your user> -p
entrer votre mot de passe
mysql> connect <your database>
mysql> INSERT INTO user (username, roles, password, is_verified)
-> VALUES ('your admin name', '[\"ROLE_ADMIN\"]',
-> 'your hashed password',1);
mysql> Commit;
mysql> exit
$ sudo snap install core; sudo snap refresh core
N'existe pas de base sur ubuntu 22.04, mais par sécurité
$ sudo apt-get remove certbot
$ sudo snap install --classic certbot
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
$ sudo certbot --apache