Procédure de construction de l'environnement: Ubuntu + Apache2 + Python + Pyramid

introduction

Ce document décrit la procédure d'installation d'Apache + Python + Pyramid dans l'environnement Ubuntu.

Conditions préalables

Le logiciel suivant est utilisé pour créer l'environnement cette fois.

Logiciel version
Ubuntu 12.04 LTS
Apache 2.2.22
Python(System) 2.7.3 (Ubuntu 12.Ce qui est installé en standard dans 04)
Python(for virtualenv) 2.7.6
VirtualEnv 1.7.1.2
Pythonz -
Pyramid 1.4.5

Cette fois, nous avons construit l'environnement sur AWS. L'AMI utilisée à l'époque était "Ubuntu Server 12.04.3 LTS --ami-6aad335a (64 bits)".

Faites également les préparatifs suivants.

→ Reportez-vous à ce qui suit pour la procédure de création d'un utilisateur de pyramide. (Exécutez en tant qu'utilisateur root.)

$ sudo adduser pyramid #Veuillez saisir un mot de passe. Appuyez sur Entrée pour tous les autres éléments.
$ sudo gpasswd -a pyramid sudo
$ sudo cp -r /home/ubuntu/.ssh /home/pyramid
$ sudo chown -R pyramid:pyramid /home/pyramid/.ssh

→ Dans cette explication, nous utiliserons une application appelée "sampleapp". La procédure de création d'un «exemple d'application» est la suivante. (Lors de la création d'un "exemple d'application", veuillez suivre les étapes jusqu'à (14) ci-dessous.)

$ cd /home/pyramid
$ pcreate -s starter sampleapp
$ cd sampleapp
$ python setup.py install

procédure

Toutes les étapes à partir de là doivent être effectuées par l'utilisateur de la pyramide.

(1) Mettez à jour la liste des packages du système de gestion des packages (APT).

$ sudo apt-get -y update

(2) Mettez à niveau le package installé.

$ sudo apt-get -y upgrade

(3) Installez build-essential et curl.

$ sudo apt-get -y install build-essential curl

(4) Installez les packages liés à Python.

$ sudo apt-get -y install python-dev python-setuptools python-pip python-virtualenv

(5) Installez les bibliothèques requises lors de la construction avec Pythonz.

$ sudo apt-get -y install libncurses-dev libreadline6-dev libbz2-dev liblzma-dev libsqlite3-dev libgbm-dev

(6) Installez Apache2.

$ sudo apt-get -y install apache2

(7) Installez mod_wsgi.

$ sudo apt-get -y install libapache2-mod-wsgi

(8) Installez Pythonz.

$ curl -kL https://raw.github.com/saghul/pythonz/master/pythonz-install | bash

(9) Ajoutez le contenu suivant à /home/pyramid/.bashrc.

[[ -s $HOME/.pythonz/etc/bashrc ]] && source $HOME/.pythonz/etc/bashrc

(10) Appliquez le contenu de .bashrc.

$ source /home/pyramid/.bashrc

(11) Installez Python 2.7.6 à l'aide de Pythonz.

$ pythonz install 2.7.6

(12) Créez un environnement Python à utiliser avec Pyramid à l'aide de Pythonz et Virtualenv. *) Cette fois, le nom de l'environnement Python à créer est "env".

$ mkdir /home/pyramid/.virtualenv
$ cd /home/pyramid/.virtualenv
$ virtualenv -p /home/pyramid/.pythonz/pythons/CPython-2.7.6/bin/python --no-site-packages env

(13) Activez l'environnement d'environnement créé ci-dessus.

$ source /home/pyramid/.virtualenv/env/bin/activate

(14) Installez Pyramid. Cette fois, pour installer la version 1.4.5, exécutez la commande suivante. *) Pour installer la dernière version de pyramid, exécutez "pip install pyramid".

$ pip install pyramid==1.4.5

(15) Créez un fichier pyramid.wsgi directement sous l'exemple d'application.

$ cd /home/pyramid/sampleapp
$ vi pyramid.wsgi

(16) Ajoutez le contenu suivant au fichier pyramid.wsgi. *) Cette fois, il est décrit en supposant qu'il fonctionnera dans un environnement de production. Pour un environnement de développement, production.ini sera development.ini.

from pyramid.paster import get_app
application = get_app(
  '/home/pyramid/sampleapp/production.ini', 'main')

(17) Modifiez les autorisations du fichier pyramid.wsgi en 755.

$ sudo chmod 755 /home/pyramid/sampleapp/pyramid.wsgi

(18) Créez un fichier de configuration Apache pour Pyramid.

$ sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/pyramid
$ sudo vi /etc/apache2/sites-available/pyramid

(19) Ouvrez le fichier de configuration créé avec vi et modifiez-le avec le contenu suivant.

<VirtualHost *:80>
    DocumentRoot /home/pyramid/sampleapp
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    WSGIApplicationGroup %{GLOBAL}
    WSGIPassAuthorization On
    WSGIDaemonProcess pyramid user=www-data group=www-data threads=4 \
    python-path=/home/pyramid/.virtualenv/env/lib/python2.7/site-packages
    WSGIScriptAlias /sampleapp /home/pyramid/sampleapp/pyramid.wsgi
    <Directory /home/pyramid/sampleapp/>
        WSGIProcessGroup pyramid
        Order allow,deny
        Allow from all
    </Directory>
    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

(20) Activez le site Pyramid et désactivez le site par défaut.

$ sudo a2ensite pyramid
$ sudo a2dissite default

(21) Redémarrez Apache.

$ sudo /etc/init.d/apache2 restart

(22) Accédez à "http: // [adresseip] / sampleapp" avec un navigateur et confirmez que la page Pyramid est affichée.

Recommended Posts

Procédure de construction de l'environnement: Ubuntu + Apache2 + Python + Pyramid
Procédure de construction de l'environnement python Anaconda3
Construction d'environnements OpenCV3 et Python3 sur Ubuntu
construction d'environnement python
Python - Construction de l'environnement
Construction de l'environnement Python
[Ubuntu 18.04] Créer un environnement Python avec pyenv + pipenv
Procédure de construction de l'environnement de développement Python (anaconda) (SpringToolsSuites) _2020.4
construction d'environnement python homebrew
Construction de l'environnement de développement Python
Construction de l'environnement de développement python2.7
Construction de l'environnement Python @ Win7
VS Code + Azure Functions + Procédure de construction de l'environnement Python
Construction de l'environnement Python 3.x par Pyenv (CentOS, Ubuntu)
Construction de l'environnement Python + Anaconda + Pycharm
Construction de l'environnement Python (Windows10 + Emacs)
Construction de l'environnement CI ~ Édition Python ~
Créer un environnement python3 avec ubuntu 16.04
Construction de l'environnement Python pour Mac
Procédure de construction de l'environnement de développement Google App Engine / Python (fin 2014)
Construction de l'environnement Python3 (pour les débutants)
Construction d'environnement Python et TensorFlow
Construire un environnement Python sous un environnement Windows 7
Procédure pour convertir un fichier python en exe à partir de la construction de l'environnement Ubunts
[MEMO] [Construction de l'environnement de développement] Python
Construction de l'environnement Ubuntu14.04 + GPU + TensorFlow
Construction de l'environnement de python2 & 3 (OSX)
Mémo pour la création d'un environnement Python à l'aide de Docker sur Windows 10 Famille
Construction d'environnement de python et opencv
Mémo de construction de l'environnement Python sur Windows 10
Commencez avec Python! ~ ① Construction de l'environnement ~
Construction de serveur Web Linux (Ubuntu et Apache)
Configurer un environnement de développement Python sur Ubuntu
Construction d'un environnement d'apprentissage amélioré Python + Unity
Construire un environnement Python sur Ubuntu
[Django] Mémorandum de procédure de construction d'environnement
J'ai vérifié la construction de l'environnement Mac Python
Mémo de construction de l'environnement Python sur Mac
Construction d'environnement Python (pyenv, anaconda, tensorflow)
[Python3] Construction de l'environnement de développement << Édition Windows >>
Construction de l'environnement de développement Python sur macOS
Construction d'environnement Python (pyenv + poetry + pipx)
Construire un environnement pour python3.8 sur Mac
Construction de l'environnement Python3 avec pyenv-virtualenv (CentOS 7.3)
De Ubuntu 20.04 introduction à la construction d'environnement
Construction de l'environnement Python3 TensorFlow pour Mac
Mémo de construction de l'environnement de développement Emacs Python
Mémo de construction de l'environnement de développement Ubuntu Desktop 20.04
Construction de l'environnement pytorch @ python3.8 avec pipenv
Créer un environnement Python 3.8 + Pipenv sur Ubuntu 18.04
[docker] Construction de l'environnement python3.5 + numpy + matplotlib
Créer un environnement pour "Tello_Video" sur Ubuntu
Construction de l'environnement Python3.6 (à l'aide de l'environnement Win Anaconda)
[Pyenv] Construire un environnement python avec ubuntu 16.04
Créer un environnement Python 3 et OpenCV sur Ubuntu 18.04
Environnement virtuel Python et packages sur Ubuntu
[Python] Road to snakes (1) Construction de l'environnement