Dieses Dokument beschreibt das Verfahren zur Installation von Apache + Python + Pyramid in der Ubuntu-Umgebung.
Die folgende Software wird dieses Mal verwendet, um die Umgebung zu erstellen.
Software | Ausführung |
---|---|
Ubuntu | 12.04 LTS |
Apache | 2.2.22 |
Python(System) | 2.7.3 (Ubuntu 12.Was ist in 04 standardmäßig installiert) |
Python(for virtualenv) | 2.7.6 |
VirtualEnv | 1.7.1.2 |
Pythonz | - |
Pyramid | 1.4.5 |
Dieses Mal haben wir die Umgebung auf AWS aufgebaut. Das zu dieser Zeit verwendete AMI war "Ubuntu Server 12.04.3 LTS --ami-6aad335a (64-Bit)".
Treffen Sie auch die folgenden Vorbereitungen.
→ Informationen zum Erstellen eines Pyramidenbenutzers finden Sie im Folgenden. (Als Root-Benutzer ausführen.)
$ sudo adduser pyramid #Bitte geben Sie ein Passwort ein. Drücken Sie die Eingabetaste für alle anderen Elemente.
$ sudo gpasswd -a pyramid sudo
$ sudo cp -r /home/ubuntu/.ssh /home/pyramid
$ sudo chown -R pyramid:pyramid /home/pyramid/.ssh
→ In dieser Erklärung verwenden wir eine Anwendung namens "sampleapp". Das Verfahren zum Erstellen einer "Beispiel-App" ist wie folgt. (Befolgen Sie beim Erstellen einer "Beispiel-App" die folgenden Schritte (14).)
$ cd /home/pyramid
$ pcreate -s starter sampleapp
$ cd sampleapp
$ python setup.py install
Alle Schritte von hier aus sollten vom Pyramidenbenutzer ausgeführt werden.
(1) Aktualisieren Sie die Paketliste des Paketverwaltungssystems (APT).
$ sudo apt-get -y update
(2) Aktualisieren Sie das installierte Paket.
$ sudo apt-get -y upgrade
(3) Installieren Sie Build-Essential und Curl.
$ sudo apt-get -y install build-essential curl
(4) Installieren Sie Python-bezogene Pakete.
$ sudo apt-get -y install python-dev python-setuptools python-pip python-virtualenv
(5) Installieren Sie die Bibliotheken, die beim Erstellen mit Pythonz erforderlich sind.
$ sudo apt-get -y install libncurses-dev libreadline6-dev libbz2-dev liblzma-dev libsqlite3-dev libgbm-dev
(6) Installieren Sie Apache2.
$ sudo apt-get -y install apache2
(7) Installieren Sie mod_wsgi.
$ sudo apt-get -y install libapache2-mod-wsgi
(8) Installieren Sie Pythonz.
$ curl -kL https://raw.github.com/saghul/pythonz/master/pythonz-install | bash
(9) Fügen Sie den folgenden Inhalt zu /home/pyramid/.bashrc hinzu.
[[ -s $HOME/.pythonz/etc/bashrc ]] && source $HOME/.pythonz/etc/bashrc
(10) Wenden Sie den Inhalt von .bashrc an.
$ source /home/pyramid/.bashrc
(11) Installieren Sie Python 2.7.6 mit Pythonz.
$ pythonz install 2.7.6
(12) Erstellen Sie eine Python-Umgebung zur Verwendung mit Pyramid mit Pythonz und Virtualenv. *) Diesmal lautet der Name der zu erstellenden Python-Umgebung "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) Aktivieren Sie die oben erstellte env-Umgebung.
$ source /home/pyramid/.virtualenv/env/bin/activate
(14) Installieren Sie die Pyramide. Führen Sie dieses Mal den folgenden Befehl aus, um die Version 1.4.5 zu installieren. *) Um die neueste Version von pyramid zu installieren, führen Sie "pip install pyramid" aus.
$ pip install pyramid==1.4.5
(15) Erstellen Sie eine pyramid.wsgi-Datei direkt unter der Beispiel-App.
$ cd /home/pyramid/sampleapp
$ vi pyramid.wsgi
(16) Fügen Sie der Datei pyramid.wsgi den folgenden Inhalt hinzu. *) Dieses Mal wird davon ausgegangen, dass es in einer Produktionsumgebung betrieben wird. Für eine Entwicklungsumgebung ist Production.ini Development.ini.
from pyramid.paster import get_app
application = get_app(
'/home/pyramid/sampleapp/production.ini', 'main')
(17) Ändern Sie die Berechtigungen der Datei pyramid.wsgi in 755.
$ sudo chmod 755 /home/pyramid/sampleapp/pyramid.wsgi
(18) Erstellen Sie eine Apache-Konfigurationsdatei für Pyramid.
$ sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/pyramid
$ sudo vi /etc/apache2/sites-available/pyramid
(19) Öffnen Sie die erstellte Einstellungsdatei mit vi und ändern Sie sie in den folgenden Inhalt.
<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) Aktivieren Sie die Pyramid-Site und deaktivieren Sie die Standard-Site.
$ sudo a2ensite pyramid
$ sudo a2dissite default
(21) Starten Sie Apache neu.
$ sudo /etc/init.d/apache2 restart
(22) Greifen Sie mit einem Browser auf "http: // [ipaddress] / sampleapp" zu und bestätigen Sie, dass die Pyramidenseite angezeigt wird.
Recommended Posts