Install Ubuntu 22.04 LTS
Es kann sowohl ein Minimal als auch ein Ubuntu Server verwendet werden. Es sollte aber immer eine LTS Variante von Ubuntu installiert werden.
Die Version muss die nächsten Jahre noch unterstützt werden.
Zunächst muss man als Superuser angemeldet sein, da für die Installation besondere Berechtigungen nötig sind:
sudo su
Ubuntu Update und Pakete installieren:
apt update
apt dist-upgrade
apt -y install software-properties-common wget apt-transport-https ca-certificates apt-utils
EGOTEC Repository hinzufügen:
sudo apt-key adv --fetch-keys https://deb.egotec.com/dists/jammy/egotec.gpg
echo "deb [arch=amd64] https://deb.egotec.com/ jammy main" >> /etc/apt/sources.list.d/egotec.list
apt update
EGOTEC Pakete installieren
apt -y install egotec-server-sources
apt -y install egotec-server-tools
apt -y install egotec-server-cms
apt -y install egotec-php7.4
Das Tools Paket ist optional. Es vereinfacht später die Konfiguration Ihres Servers.
Beim PHP Paket stehen die Version 7.4 bis 8.1 zur Verfügung.
Site EGOCMS aktivieren
Falls Sie nur eine EGOCMS Installation auf dem Server betreiben wollen, können Sie dirket die EGOCMS Site Konfiguration verwenden.
cd /etc/nginx/sites-enabled
rm default
ln -s /etc/nginx/sites-available/egocms.conf egocms.conf
service php7.4-fpm restart
service nginx restart
Sollte der Nginx nicht neu starten ist es möglich, dass die Ordnerstruktur nicht korrekt angelegt wurde.
Ordnerstruktur korrigieren:
mkdir /usr/share/nginx/egocms/var
Test 1
Die Serveradresse im Browser eröffnen.
Es sollte die EGOCMS Willkommensmeldung angezeigt werden.
PHP Info zeigt an, ob PHP schon funktioniert.
Install current EGOCMS Version
cd /usr/share/nginx/
rm -rf egocms
Export current version
svn export https://svn.egotec.com/svn/projects/PROJEKT/tags/TAG egocms
chown -R egocms:egocms egocms
Lucene aktivieren
ln -s /usr/share/nginx/egocms/lib/lucene/ecmlucene.war /opt/tomcat/webapps/ecmlucene.war
Bootstrap
cd egocms
bash bootstrap.sh
Test 2
Jetzt die Tomcatinstallation testen.
Unter Port 8080 muss der Tomcat laufen.
Und unter der Adresse /ecmlucene die EGOCMS Lucene Instanz.
Create Database
# create database
echo "CREATE DATABASE egocms CHARACTER SET utf8 COLLATE utf8_general_ci;" | mysql -u root
echo "GRANT ALL ON egocms.* TO egocms@localhost IDENTIFIED BY '<em>SECURE_PASSWORD</em>';" | mysql -u root
# change egocms configuration for new password
replace 'password="demo"' 'password="<em>SECURE_PASSWORD</em>"' -- var/conf/conf.ini
Install EGOCMS
Das kann über den Browser erfolgen.
Bitte die URL /setup/fast.php hierfür aufrufen.
Alternativ kann die Installation auch über die Bash erfolgen.
wget -qO - http://localhost/setup/fast.php
Test 3
Jetzt das Frontend testen.
Beim Aufruf der Server Domain muss der Standardauftritt angezeigt werden.
Und auch gleich den Adminbereich testen.
Clean
rm bootstrap.sh docker* info.txt.php readme.md
rm -rf var/skin
rm -rf setup
Cron
# crontab -e
0 * * * * curl -d "userid=USERID" http://localhost/bin/cron/cron.php
5 1 * * * curl -d "userid=USERID&cron=1" http://localhost/bin/cron/cron.php
Der Dienst 0 ist Pflicht. Weitere Dienste können je nach Bedarf eingerichtet werden.
LibreOffice
Diese Schritte sind nur notwendig, wenn Dateien indiziert werden sollen.
# configure init.d
cd /usr/share/nginx/egocms
cp bin/tool/linux/checklo.sh var/crons/
chown egocms: var/crons/checklo.sh
chmod u+x var/crons/checklo.sh
# change checklo.sh
sudo vi var/crons/checklo.sh
CMSPATH="/usr/share/nginx/egocms" # Der Pfad zu Ihrer EGOTEC Installation
INDEXOPTIONS="-r -t 300 -a" # Indizierungsoptionen (Alle Media Mandanten indizieren)
PHP="php" # Der Pfad zu Ihrer PHP CLI Installation + Dateiname des PHP Interpreters
# cron
*/15 * * * * sudo -u egocms /usr/share/nginx/egocms/var/crons/checklo.sh
#start manually
sudo -u egocms /usr/share/nginx/egocms/var/crons/checklo.sh
Installation mit Docker testen
Die Installationsschritte können mit docker getestet werden. Hierfür einen docker ubuntu Container starten.
docker run --name ubuntu -it -p 80:80 -p 443:443 -p 8080:8080 ubuntu:18.04 bash
Achtung: Da in einem docker Container keine Dienste automatisch gestartet werden, muss dies im Schritt "Test 1" manuell erfolgen.
service mysql start
/opt/tomcat/bin/startup.sh
libreoffice --headless --quickstart --nologo --nodefault "--accept=socket,host=localhost,port=8100;urp;" &
service php7.1-fpm start
service nginx start