Install Issue - Missing dependencies include setting up a WSGI server

Added by Tony Su over 7 years ago

It would have been nice for all dependencies to be identified and installed before installing the prelude prewikia components...

My question is whether there are required settings to configure a "typical" Apache2 uWSGI server to point to the file locations prelude installs its prewikia site... so that configuration can be verified complete.

Also, if time and resources allow, I'd request similar instructions for other WSGI servers, in particular popular servers like nginx, perhaps nodejs.


Replies (2)

RE: Install Issue - Missing dependencies include setting up a WSGI server - Added by Thomas ANDREJAK over 7 years ago


If you use the packaged version, all dependencies are installed before prewikka.

In the script directory, you have the prewikka.wsgi script that has to be used with web server.
There are no special configuration to use, it should work out of the box. Let us know if you have some issues.

We do not have time for other WSGI server but you can contribute so we can complete the wiki.


RE: Install Issue - Missing dependencies include setting up a WSGI server - Added by Tony Su over 7 years ago

The following is not fully tested for official documentation quality but early use suggests is largely correct (Consider the following comparable to a very rough draft, but can be extremely useful for someone speedily installing the following components). When I have a fully working Prelude, only then can I consider the following "official documentation ready."

All tested on 42.2.
The preformatted code blocks are written so that they can be be implemented "as is" in one or more scripts.
All zypper commands include flags to make the commands non-interactive, again making them more suitable for embedding in scripts.

Install LAMP for use with Prelude and Prewikka packages (does not include packages for building from source).
Be aware if building from source that "mysql-devel" rpm packages do not exist for any distro except CentOS/RHEL, if building from source should install PostgreSQL instead (the next option) or SQLite3 which both have "-devel" packages.

zypper -n in patterns-openSUSE-lamp_server apache2-mod_uwsgi apache2-mod_wsgi uwsgi-lua uwsgi-python

Install "LAPostgreSQLP" in other words, LAMP but replacing MySQL with PostgreSQL
Also, if building from source, then this option or install SQLite3 can be chosen (Do not choose MySQL/Mariadb)

zypper -n in apache2 yast2-http-server apache2-doc apache2-example-pages apache2-mod_perl apache2-mod_php5 apache2-mod_python apache2-prefork php5-ctype php5-dom php5-iconv php5-gd php5-mbstring php5-zlib php5-zip postgresql postgresql-contrib postgresql-server postgresql-devel postgresql-docs

If building from source, then choose one of the above two options, plus the following to install packages required for building from source

zypper -n ar -f devel:languages:lua && \
zypper -n ar -f obs:// LUA:OBS && \
zypper --gpg-auto-import-keys ref &&\

zypper -n in pcre-devel pcre-doc pcre-tools patterns-openSUSE-devel_python libgcrypt-devel gnutils libgnutls-devel ruby-devel gcc-c++ python-lesscpy python-argparse

Although the Prelude docs generally don't start up services immediately, my SOP is to do so to check and verify they are in working order. This means that if the following services are already started, then it's likely that they will need to be "reloaded" before being restarted to implement later Prelude modifications.

# Start and enable services to start on boot. If using postgresql, then replace "mysql" with "postgresql" 
systemctl start apache2.service && \
systemctl enable apache2.service && \
systemctl start uwsgi.service && \
systemctl enable uwsgi.service && \
systemctl start mysql.service && \
systemctl enable mysql.service

After starting the database, security configuration and testing should be done before proceeding further.
The current Prelude packages documentation describe how to set up and configure on MySQL/Mariadb.

I find it curious that mysql-devel is required for building from source, but is not mentioned when installing from packages. Whatever might be required for modifying MySQL/Mariadb when building from source is not implemented in the install from packages documentation.