commit 25aaa220cdc596fa5288f7be172fc992eb4d509f Author: aardouin Date: Tue Sep 26 10:06:12 2023 +0200 vagrantfile + scripts diff --git a/.vagrant/bundler/global.sol b/.vagrant/bundler/global.sol new file mode 100644 index 0000000..d89387b --- /dev/null +++ b/.vagrant/bundler/global.sol @@ -0,0 +1 @@ +{"dependencies":[["vagrant-berkshelf",["= 5.1.2"]],["vagrant-hostmanager",["= 1.8.10"]],["vagrant-omnibus",["= 1.5.0"]],["log4r",[">= 0"]],["concurrent-ruby",["~> 1.0"]],["i18n",[">= 0"]],["micromachine",[">= 2","< 4"]],["vagrant-vbguest",["= 0.31.0"]]],"checksum":"ecea410ec36ec38b3c619188d2eb3a079a46b7b7b2ec2e158d9c6e155205cb88","vagrant_version":"2.3.7"} \ No newline at end of file diff --git a/.vagrant/machines/default/virtualbox/action_provision b/.vagrant/machines/default/virtualbox/action_provision new file mode 100644 index 0000000..17141d1 --- /dev/null +++ b/.vagrant/machines/default/virtualbox/action_provision @@ -0,0 +1 @@ +1.5:c451b4a2-b878-489f-a7aa-f79a776e1b2a \ No newline at end of file diff --git a/.vagrant/machines/default/virtualbox/action_set_name b/.vagrant/machines/default/virtualbox/action_set_name new file mode 100644 index 0000000..a3ed099 --- /dev/null +++ b/.vagrant/machines/default/virtualbox/action_set_name @@ -0,0 +1 @@ +1695196649 \ No newline at end of file diff --git a/.vagrant/machines/default/virtualbox/box_meta b/.vagrant/machines/default/virtualbox/box_meta new file mode 100644 index 0000000..cc48206 --- /dev/null +++ b/.vagrant/machines/default/virtualbox/box_meta @@ -0,0 +1 @@ +{"name":"ubuntu/trusty64","version":"20190514.0.0","provider":"virtualbox","directory":"boxes/ubuntu-VAGRANTSLASH-trusty64/20190514.0.0/virtualbox"} \ No newline at end of file diff --git a/.vagrant/machines/default/virtualbox/creator_uid b/.vagrant/machines/default/virtualbox/creator_uid new file mode 100644 index 0000000..e37d32a --- /dev/null +++ b/.vagrant/machines/default/virtualbox/creator_uid @@ -0,0 +1 @@ +1000 \ No newline at end of file diff --git a/.vagrant/machines/default/virtualbox/id b/.vagrant/machines/default/virtualbox/id new file mode 100644 index 0000000..a226a28 --- /dev/null +++ b/.vagrant/machines/default/virtualbox/id @@ -0,0 +1 @@ +c451b4a2-b878-489f-a7aa-f79a776e1b2a \ No newline at end of file diff --git a/.vagrant/machines/default/virtualbox/index_uuid b/.vagrant/machines/default/virtualbox/index_uuid new file mode 100644 index 0000000..dc30ea3 --- /dev/null +++ b/.vagrant/machines/default/virtualbox/index_uuid @@ -0,0 +1 @@ +1d1a58671337462a981d203f438e32b3 \ No newline at end of file diff --git a/.vagrant/machines/default/virtualbox/private_key b/.vagrant/machines/default/virtualbox/private_key new file mode 100644 index 0000000..f215220 --- /dev/null +++ b/.vagrant/machines/default/virtualbox/private_key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpQIBAAKCAQEAxFOYk+qeLRrB5Brypj27Z176JNkRI/EFzfHzSgUGcIw7aXKB +kHYZdnMYtVOaVrgnHifE76VffnYPJ/D3tUlo6JC5t4Bxr9jNrzhElTAyBDJSZOvG +K0dDFddLaCgPtYWxcZRaPoOw0wCf9cpiSi0DGjm0iZW/w9LPsFdchKZJdFpHk79q +6aLKER3assBbgSfO+7Vp0L+qQbScLqmGtEUOmNjRkCsqsQXC0DrRsw01DLdgJ3Qm +51U6mD9NNhOpjWT3B5aQqouZMNZi5sSSwkBgdF7lbUJFcH6AAD/Po3uKZfcn+8I8 +stHoDjJe8dLOpTQNgBxqu3p3FRRWB3RvQ+twiwIDAQABAoIBAAo67O1wQVPKXCYd +vV0qRFSrn09CPGFqEspbfDj0MBS3SfVBsTys2sDQWI5CT/2K1Qb+PYXbUTGOx1Vm +ehHpRF0yBWtpdwMZwgYKYZCAlWqgkKiPnKDusrE1qclApSjpUYjAmT8+r30fQDaX +mC2TUOER9rVgp0B2ALqIotqKq7MzVbB6uLOs/xM4IAyUY9DxGKB34j65QPcIF7yK +vt6xyGdrhQYJHEjs6Wvd0nIMBOIqKclpUjaWFFSZ66fTY7jLUe1SBFJzV55GMOTU +KvUJV9wX/MlZfix7Y0rBjJrRGhYG4DjAKLxAw18NAnRu8ChmOl1motFNFohGJgl+ +il0aFMECgYEA8RPhqUSfRMU5U7+Mk879z5EJ1SwPj0+XU9zy/IkVHxK0o0O1ByB/ +vFPll8Jt+Tpc+pgmVo/vsYq8G1bGbu4WcMyEANilUoJ7mYZ2zumNdlF86V0fEdUG +YMC6xSsdduUiJ5wP2A2FjKrpUxyxFWpihpz6J+mWpQrw7ys6bjWM5SsCgYEA0HqW +hxGCJw0iIH9GpCNwuHWAbFepwbfJ3ZlEVu+K295N08a3e6TS6WqfkQ6lwr31pkj6 +7rVg+AXFvjkHjATN1UTlnE3Do0okk1N6++deg3qGw12NwqOsUENuAAXYbHmjbpkX +G4aGobeqYsHDAB6toxnumEhqBHZ7/DbQZC8+siECgYEAmrik0qsNAOkHIt3DzjVB +pg6y3dJ6ZgKx34vlkvgzyw6JSmMw8tMDyA2cQ6rwQ80WUWqG6HVWY37jvTQTBKzf +UCOh8J0adXry8pRe+erg9HfWEDvIrfwnLL9k3xgNv/nM0tkRPhtng+FJACNg75qo +gzaKQkVjfqcn/Iek54iM1aMCgYEAgdenwq274viCBb1fUMEl5iyAdHnQp28BEbvw +XTjJwhBdZoWAJ0jLd0bJ5L07reNDiHIxntRmdXKa6tN4CNPBIo/LdaLVMvDtgLhg +g11hdv+rySeOL+hiXIbyjp8VYNINYMeGJcWOOlA6lVFaUsvIlymCeWO4a9kjdTzq +Y0stgCECgYEAogGgWxS1DRhlHNIwRiZiTJGghL75OaDj70/8NCpdytABHYnUabYZ +gUE9ganijXqED0I+L7cL9Q9rOg5ZSbhAsI/w0Sd3pgTKd6BzO2Z1cNFwbinQfosA +X+NO7QUjRtFA081njXDziJwUAbHXSOC58xS3XylbsaURlu3NCMAR6vM= +-----END RSA PRIVATE KEY----- diff --git a/.vagrant/machines/default/virtualbox/synced_folders b/.vagrant/machines/default/virtualbox/synced_folders new file mode 100644 index 0000000..03d018c --- /dev/null +++ b/.vagrant/machines/default/virtualbox/synced_folders @@ -0,0 +1 @@ +{"virtualbox":{"/vagrant":{"guestpath":"/vagrant","hostpath":"/home/aardouin/Workspace/Xibo","disabled":false,"__vagrantfile":true}}} \ No newline at end of file diff --git a/.vagrant/machines/default/virtualbox/vagrant_cwd b/.vagrant/machines/default/virtualbox/vagrant_cwd new file mode 100644 index 0000000..8f99198 --- /dev/null +++ b/.vagrant/machines/default/virtualbox/vagrant_cwd @@ -0,0 +1 @@ +/home/aardouin/Workspace/Xibo \ No newline at end of file diff --git a/.vagrant/rgloader/loader.rb b/.vagrant/rgloader/loader.rb new file mode 100644 index 0000000..c3c05b0 --- /dev/null +++ b/.vagrant/rgloader/loader.rb @@ -0,0 +1,9 @@ +# This file loads the proper rgloader/loader.rb file that comes packaged +# with Vagrant so that encoded files can properly run with Vagrant. + +if ENV["VAGRANT_INSTALLER_EMBEDDED_DIR"] + require File.expand_path( + "rgloader/loader", ENV["VAGRANT_INSTALLER_EMBEDDED_DIR"]) +else + raise "Encoded files can't be read outside of the Vagrant installer." +end diff --git a/Vagrantfile b/Vagrantfile new file mode 100644 index 0000000..999d470 --- /dev/null +++ b/Vagrantfile @@ -0,0 +1,19 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : + +Vagrant.configure("2") do |config| + config.vm.define "web" do |web| + web.vm.box = "generic/debian11" + web.vm.provision "shell", path: "web.sh" + web.vm.network "private_network", ip: "192.168.56.60" + web.vm.network "forwarded_port", guest: 80, host: 1234, id: "nginx" + web.vm.hostname = "web" + end + + config.vm.define "db" do |db| + db.vm.box = "generic/debian11" + db.vm.provision "shell", path: "db.sh" + db.vm.network "private_network", ip: "192.168.56.61", hostname: true + db.vm.hostname = "db" + end +end diff --git a/db.sh b/db.sh new file mode 100644 index 0000000..d57c280 --- /dev/null +++ b/db.sh @@ -0,0 +1,13 @@ +export DEBIAN_FRONTEND=noninteractive +wget https://dev.mysql.com/get/mysql-apt-config_0.8.26-1_all.deb +dpkg -i ./mysql-apt-config_0.8.26-1_all.deb +yes | apt-get update +yes | apt-get install mysql-server + +mysql -h 'localhost' << EOF +ALTER USER 'root'@'localhost' IDENTIFIED BY 'root'; +CREATE USER 'xibo'@'192.168.56.60' IDENTIFIED BY 'xibo'; +CREATE DATABASE xibo_db; +GRANT ALL PRIVILEGES ON xibo_db.* TO 'xibo'@'192.168.56.60' WITH GRANT OPTION; +FLUSH PRIVILEGES; +EOF \ No newline at end of file diff --git a/web.sh b/web.sh new file mode 100644 index 0000000..c2c1d52 --- /dev/null +++ b/web.sh @@ -0,0 +1,96 @@ +#!/bin/bash + +# Installation des paquets +apt-get update +yes | apt-get install apache2 ufw php php7.4-gd php-common php-cli php-json php-dom php-mysql php-zip php-soap php-curl php-xml php-mbstring php-zmq libapache2-mod-wsgi-py3 libapache2-mod-xsendfile python-dev + + +# Installation Xibo cms +mkdir /srv/xibo-cms +cd /srv/xibo-cms +wget https://github.com/xibosignage/xibo-cms/releases/download/2.3.3/xibo-cms-2.3.3.tar.gz +tar -xvzf xibo-cms-2.3.3.tar.gz --strip-components=1 +rm xibo-cms-2.3.3.tar.gz +chown -R www-data:www-data /srv/xibo-cms +rm -r /var/www +ln -s /srv/xibo-cms /var/www +a2enmod rewrite +a2enmod ssl +cat > /etc/apache2/sites-available/xibo-cms.conf << EOF + + DocumentRoot "/var/www/web" + ServerName xibo.domain.com + XSendFile on + XSendFilePath /var/www/Library + + AllowOverride All + Options Indexes FollowSymLinks MultiViews + Order allow,deny + Allow from all + Require all granted + + + + DocumentRoot "/var/www/web" + ServerName xibo.domain.com + XSendFile on + XSendFilePath /var/www/Library + + AllowOverride All + Options Indexes FollowSymLinks MultiViews + Order allow,deny + Allow from all + Require all granted + + +EOF +a2dissite 000-default.conf +a2ensite xibo-cms.conf +sed -i -e "s/\(max_execution_time =\).*/\1 300/" \ +-e "s/\(memory_limit =\).*/\1 256M/" \ +-e "s/\(post_max_size =\).*/\1 2G/" \ +-e "s/\(upload_max_filesize =\).*/\1 2G/" \ +-e "/^;session.cookie_secure =/ csession.cookie_secure = Off" \ +-e "s/\(session.cookie_httponly =\).*/\1 On/" \ +-e "s/\(session.cookie_samesite =\).*/\1 Lax/" /etc/php/7.4/apache2/php.ini +cat > /srv/xibo-cms/vendor/xibosignage/xibo-xmr/bin/config.json << EOF +{ + "listenOn": "tcp://127.0.0.1:50001", + "pubOn": ["tcp://127.0.0.1:1234"], + "debug": false +} +EOF +chown www-data:www-data /srv/xibo-cms/vendor/xibosignage/xibo-xmr/bin/config.json +cat > /etc/systemd/system/xibo-xmr.service << EOF +[Unit] +Description=Xibo XMR +After=network.target + +[Service] +User=www-data +Group=www-data +ExecStart=/usr/bin/php /srv/xibo-cms/vendor/bin/xmr.phar +Restart=always +KillMode=process +RestartSec=1 + +[Install] +WantedBy=multi-user.target +EOF + +systemctl daemon-reload +systemctl enable xibo-xmr.service +systemctl start xibo-xmr.service + +cat > /var/spool/cron/crontabs/www-data << EOF +{ + * * * * * /usr/bin/php /srv/xibo-cms/bin/xtr.php +} +EOF +ufw allow ssh +ufw allow http +ufw allow https +ufw allow 1234/tcp +yes | ufw enable + +systemctl restart apache2 \ No newline at end of file