Base de données MySQL/MariaDB
Installation de MariaDB
Bloc de code |
---|
(django_pod) pod@pod:/usr/local/django_projects/podv3$ sudo apt-get install mariadb-server mariadb-client |
Attention il faut modifier le fichier /etc/mysql/mariadb.conf.d/50-server.cnf
Bloc de code |
---|
character-set-server = utf8 collation-server = utf8_general_ci |
...
Bloc de code |
---|
(django_pod) pod@pod:/usr/local/django_projects/podv3$ sudo apt-get install python3-dev (django_pod) pod@pod:/usr/local/django_projects/podv3$ sudo apt-get install default-libmysqlclient-dev (django_pod) pod@pod:/usr/local/django_projects/podv3$ pip3 install mysqlclient |
SI Si ce n'est n’est pas encore fait, vous devez spécifier la configuration de votre base de données dans votre fichier de configuration settings_local.py
:
Bloc de code |
---|
(django_pod) pod@pod:/usr/local/django_projects/podv3$ vim pod/custom/settings_local.py |
...
Bloc de code |
---|
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'mydatabase', 'USER': 'mydatabaseuser', 'PASSWORD': 'mypassword', 'HOST': '127.0.0.1', 'PORT': '3306', 'OPTIONS': { 'init_command': "SET storage_engine=INNODB, sql_mode='STRICT_TRANS_TABLES', innodb_strict_mode=1", }, } } |
Il faut ensuite relancer le script présent présent à la racine afin de créer les fichiers de migration, puis de les lancer afin de créer la base de données :
Bloc de code |
---|
(django_pod) pod@Pod:~/django_projects/podv3$ make createDB |
...
Avertissement |
---|
Ne pas oublier de créer à nouveau un superutilisateur
|
Frontal Web NGINX / UWSGI et fichiers statiques
Pour plus de renseignement, d'explication que la documentation ci-dessous, voici le tutoriel que j'ai suivi pour mettre en place cette solution : doc{:target="_blank"}Insallation
Installation du serveur Web NGINX et paramétrage :
Commencer par installer le serveur NGINX
...
Bloc de code |
---|
[...] server { listen 80 default_server; #listen [::]:80 default_server; [...] |
Installer les addons de NGINX
Bloc de code |
---|
(django_pod) pod@Pod:~/django_projects/podv3$ sudo apt-get install nginx-extras |
...
Il faut ensuite spécifier le host pour le serveur web (changer si besoin les paramètres dans le fichier pod_nginx.conf
) :
Bloc de code |
---|
(django_pod) pod@Pod:~/django_projects/podv3$ cp pod_nginx.conf pod/custom/. (django_pod) pod@Pod:~/django_projects/podv3$ vim pod/custom/pod_nginx.conf (django_pod) pod@Pod:~/django_projects/podv3$ sudo ln -s /usr/local/django_projects/podv3/pod/custom/pod_nginx.conf /etc/nginx/sites-enabled/pod_nginx.conf (django_pod) pod@Pod:~/django_projects/podv3$ sudo /etc/init.d/nginx restart |
UWSGI
Un fichier de configuration est fourni pour faciliter l'usage l’usage d'UWSGI.
Installer le module uwsgi
Bloc de code |
---|
(django_pod) pod@Pod:~/django_projects/podv3$ sudo pip3 install uwsgi |
Dupliquer Dupliquez le fichier modèle et éditer éditez-le pour personnaliser les paramètres :
...
Bloc de code |
---|
[Unit] Description=Pod uWSGI app After=syslog.target [Service] ExecStart=/usr/local/bin/uwsgi --ini /usr/local/django_projects/podv3/pod/custom/pod_uwsgi.ini \ --enable-threads \ --pidfile /tmp/pod.pid ExecStop=/usr/local/bin/uwsgi --stop /tmp/pod.pid User=pod Group=www-data Restart=on-failure KillSignal=SIGQUIT Type=notify StandardError=syslog NotifyAccess=all [Install] WantedBy=multi-user.target |
Il faut Ensuite ensuite activer le service
Bloc de code |
---|
(django_pod) pod@Pod:~/django_projects/podv3$ sudo systemctl enable uwsgi-pod |
Et pour le lancer ou l'arréter l’arrêter :
Bloc de code |
---|
(django_pod) pod@Pod:~/django_projects/podv3$ sudo systemctl stop uwsgi-pod (django_pod) pod@Pod:~/django_projects/podv3$ sudo systemctl restart uwsgi-pod |
...