Clarify alternc-nss utility and how to port venvs
This commit is contained in:
parent
8051e91677
commit
77ac7b1ec3
46
README.md
46
README.md
|
@ -3,7 +3,9 @@
|
||||||
* libapache2-mod-wsgi-py3
|
* libapache2-mod-wsgi-py3
|
||||||
* python3-pip
|
* python3-pip
|
||||||
* python3-venv
|
* python3-venv
|
||||||
* (possibly) alternc-nss
|
* alternc-nss
|
||||||
|
* alternc-nss provides unix user integration without which wsgi cannot look up
|
||||||
|
uid to users properly.
|
||||||
|
|
||||||
# Server configuration
|
# Server configuration
|
||||||
|
|
||||||
|
@ -16,6 +18,37 @@
|
||||||
python3 -m venv --copies /path/to/virtualenv/name
|
python3 -m venv --copies /path/to/virtualenv/name
|
||||||
mv /path/to/virtualenv/name /var/www/alternc/X/Xname/venv/name
|
mv /path/to/virtualenv/name /var/www/alternc/X/Xname/venv/name
|
||||||
|
|
||||||
|
## Creating environments remotely
|
||||||
|
|
||||||
|
Normally users in AlternC do not have shell access to run commands to manage
|
||||||
|
virtual environments. There are are couple of ways it may work (though it may
|
||||||
|
not always do so!).
|
||||||
|
|
||||||
|
Ideally users in a remote environment build their applications with the same
|
||||||
|
version of python as used on the AlternC host. In such a case, the venv can be
|
||||||
|
copied normally.
|
||||||
|
|
||||||
|
Option 1: Hack venv to switch python version
|
||||||
|
|
||||||
|
1. Create the venv normally
|
||||||
|
2. Activate and install all modules necessary
|
||||||
|
3. Modify pyvenv.cfg and change the python version listed to match the AlternC
|
||||||
|
host's python version
|
||||||
|
4. Create a symlink in the lib/ folder so both version work:
|
||||||
|
|
||||||
|
ln -s python-<local_version> lib/python-<alternc_host_version>
|
||||||
|
|
||||||
|
|
||||||
|
Option 2: virtualenv
|
||||||
|
|
||||||
|
It is possible with virtualenv to use a non-system python and make it
|
||||||
|
relocatable; however, this functionality may not work 100% and may be
|
||||||
|
deprecated.
|
||||||
|
|
||||||
|
1. Install non-system python in /opt/ which matches the version on the AlternC
|
||||||
|
host.
|
||||||
|
2. Create virtualenv: `virtualenv --python=/opt/python-<alternc_host_version --relocatable <name>`
|
||||||
|
|
||||||
# Create/Deploy App
|
# Create/Deploy App
|
||||||
|
|
||||||
eg. Django
|
eg. Django
|
||||||
|
@ -85,14 +118,12 @@ Note: this requires '#2000' to resolve to a valid unix account. Therefore it doe
|
||||||
|
|
||||||
# Todo
|
# Todo
|
||||||
|
|
||||||
1. Confirm alternc-nss provides enough integration to allow wsgi to function
|
1. Add templates for wsgi-http and wsgi-https
|
||||||
using numeric IDs
|
2. Add support for storing and replacing new `%%VENV%%`, `%%APP_SUBDIR%%` tokens
|
||||||
2. Add templates for wsgi-http and wsgi-https
|
|
||||||
3. Add support for storing and replacing new `%%VENV%%`, `%%APP_SUBDIR%%` tokens
|
|
||||||
in templates
|
in templates
|
||||||
4. Add UI to allow for adding WSGI applications (custom UI is required to handle
|
3. Add UI to allow for adding WSGI applications (custom UI is required to handle
|
||||||
the VENV and APP_SUBDIR tokens).
|
the VENV and APP_SUBDIR tokens).
|
||||||
5. Debian package control, installation, and removal scripts
|
4. Debian package control, installation, and removal scripts
|
||||||
|
|
||||||
Further points of interest:
|
Further points of interest:
|
||||||
|
|
||||||
|
@ -101,7 +132,6 @@ Further points of interest:
|
||||||
manner?
|
manner?
|
||||||
* Are there other steps that should be taken to prevent users applications from
|
* Are there other steps that should be taken to prevent users applications from
|
||||||
interfering with each other?
|
interfering with each other?
|
||||||
* Does it work to create venvs and project code elsewhere and upload via FTP?
|
|
||||||
* Is it work considering multi-process daemon setups or more complicated Vhost
|
* Is it work considering multi-process daemon setups or more complicated Vhost
|
||||||
configurations?
|
configurations?
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue