Sadly there is no current official release, we are on that!
LanSuite development branch
Create build environment
First of all you need to take an inventory of the tools at your disposal. Following tools are relevant:
- A machine with a configured web- and database server fulfilling the requirements as listed on the requirements page
- A PHP environment with Composer for local/remote installations (here guides for Windows and Linux)
- Docker Community Edition to run the container
- Git (recommended, either as command-line or GUI)
It is required that you have at least a PHP environment with composer available if you do not want to run the Docker container.
Fetch source code
In any case you will need to fetch the latest version from GitHub.
The recommended way would be to use Git to obtain a working copy by running
git clone https://github.com/lansuite/lansuite.git in a command line within the working folder.
This is the recommendation as it simplifies later updates.
Alternatively a snapshot of the current source code branch can be downloaded from the project page(e.g. https://github.com/lansuite/lansuite/archive/master.zip for the master).
This must be extracted before usage (e.g. with
unzip master.zip(Linux) or with a tool like WinZip,WinRAR or 7zip(Windows).
Prepare to run
After preparing a build environment and obaining the sources you must run a few steps to prepare the solution for deployment.
Open a command line window, browse via
cd <path> to the folder prepared and execute
composer install --no-dev --optimize-autoloaderto prepare all dependencies.
If you are on a Linux system, you may also need to fix access rights by runnning the following:
$ chmod a+rw ./inc/base/config.php $ chmod -R a+rwX ./ext_inc/
In that case it may also be advised to correct file ownership of the folder to the webserver user and group by running
chown -R <user>:<group> . additionally.
Upload to target - if needed
If you have no direct access to the command line on the target system or no way to run the required tools there
If you had to run the steps above on a different system then you'll need to upload the prepared code to your target
Use a (S)FTP-client then to upload the whole folder to your webspace.
Ensure that file permissions are properly set so that the webserver user is able to write both to the file
/inc/base/config.php and the folder
./ext_inc/ and it's contents.
Run in Docker
We assume that you have a running Docker Community Edition installed.
git clone https://github.com/lansuite/lansuite.git cd lansuite touch ./inc/base/config.php # Add the content of the example configuration file below into ./inc/base/config.php chmod a+rw ./inc/base/config.php chmod -R a+rwX ./ext_inc/ docker-compose up docker-compose run php composer install
This will start a Nginx webserver with a php-fpm configuration and a MySQL database for you.
After everything started you should be able to visit http://
<Your-Docker-IP>:8080/ and see a running LanSuite-System.
Warning: This Docker setup should not be used for production. It contains a debugging setup like Xdebug.
Docker with a database dump
If you have already a running website based on LanSuite, you can also start a docker based setup with a copy of your database. It comes handy to test the new features with your dataset.
Move your database dump into the root folder of LanSuite and name it
$ mv /your/db/dump.sql /lansuite/copy/database-dump.sql
After this, you can start the docker-compose setup via
$ docker-compose -f docker-compose.yml -f docker-compose.dump.yml up
ERROR: Couldn't connect to Docker daemon
Some distributions (e.g. Fedora) restrict access to the docker daemon socket to user
rootonly. This results in a error message as
ERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?Run the two
docker-composecommands as user
sudo) in that case.
ERROR: for web Cannot start service web
A different issue exists in Docker for Windows: If you get an error like:
ERROR: for web Cannot start service web: OCI runtime create failed: container_linux.go:348: starting container process caused "process_linux.go:402: container init caused \"rootfs_linux.go:58: mounting \\\"/c/xampp/htdocs/lansuite/.docker/nginx-development.conf\\\" to rootfs \\\"/mnt/sda1/var/lib/docker/aufs/mnt/a302993ced4b16d16c0ab56c001d97fbdb9742f2f5beff079b18be797e95ff2a\\\" at \\\"/mnt/sda1/var/lib/docker/aufs/mnt/a302993ced4b16d16c0ab56c001d97fbdb9742f2f5beff079b18be797e95ff2a/etc/nginx/conf.d/default.conf\\\" caused \\\"not a directory\\\"\"": unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected typeThen you need to enable drive sharing for the host drive the docker image is stored on as described on Fix the Host Volume Sharing issue.
ERROR: Version in "./docker-compose.yml" is unsupported. You might be seeing this error because you're using the wrong Compose file version.
docker-composeversion is most likely outdated. Currently LanSuite uses the Compose file format v3.0, hence you need at least Compose version 1.10.0 or higher. If you have installed it using your distribution's package manager please uninstall it and follow the official installation guide on how to install a more-recent version.