Problemlos?
iocage einsetzen. Die wichtigen Daten (inkl. Nextcloud Datenbank) lassen sich dann einfach im iocage übertragen. Du musst also nicht alles neu einrichten.
Es gibt doch bestimmt hier den einen oder anderen der das ganze schon mal gemacht hat oder?
Türlich! :)
Ich habe mir die Schritte vermerkt, vielleicht hilft es dir. Keine Garantie ob es bei dir klappt. Bei mir hat es auf allen FreeNAS Server funktioniert.
JAILNAME und ALTEJAILNAME beachten und anpassen
1. iocage Jail erstellen
iocage create -n "JAILNAME" -r 11.1-RELEASE ip4_addr="vnet0|192.168.0.100" defaultrouter="192.168.0.1" vnet="on" allow_raw_sockets="1" boot="on"
2. vorhandene nextclod files und nextclod_db für iocage vorbereiten bzw. exakt so mounten wie in das alte jail!
z.B.:
iocage fstab -a JAILNAME "/mnt/DATEN/NEXTCLOUD_FILES /mnt/files nullfs rw 0 0"
iocage fstab -a JAILNAME "/mnt/DATEN/NEXTCLOD_DATENBANK /var/db/mysql nullfs rw 0 0"
3. Problem&Lösung
-kein Internet im iocage-Jail.
Lösung: einfach im FreeNAS (und nicht im iocage-Jail) bridge0 mit Interface verknüpfen (siehe ifconfig und das interface was mit dem Router-LAN verbunden ist). Ist es re0, dann folgendes ausführen:
ifconfig bridge0 addm re0 up
danach mit:
iocage restart JAILNAME #jail neu starten
und mit:
iocage console JAILNAME #ins jail wechseln und mit ping google.de auf Online checken....
######################
Nextcloud Installation:
######################
portsnap fetch extract
pkg update
pkg upgrade
pkg install nano wget sudo
pkg install apache24 mariadb102-server
sysrc apache24_enable=YES
sysrc mysql_enable=YES
service apache24 start
service mysql-server start
WebBrowser starten und die
https://192.168.0.100 schauen ob "It Works!" angezeigt wird.
WICHTIG: Da die Datenbank aus dem alten Jail konfiguriert übernommen wurde, muss MYSQL nicht neu konfiguriert werden.
mysql -u root -p
klappt der Login mit dem alten Passwort, dann ist alles gut... weitermachen:
pkg install redis php72-ctype php72-dom php72-gd php72-iconv php72-json php72-mbstring php72-posix php72-simplexml php72-xmlreader php72-xmlwriter php72-zip php72-zlib php72-pdo_mysql php72-hash php72-xml php72-session php72-mysqli php72-wddx php72-xsl php72-filter php72-curl php72-fileinfo php72-bz2 php72-intl php72-openssl php72-ldap php72-ftp php72-imap php72-exif php72-gmp php72-memcache php72-opcache php72-pcntl php72 mod_php72
sysrc redis_enable=YES
nano /usr/local/etc/apache24/httpd.conf
############################################################################
folgene Zeilen auskommentieren:
LoadModule ssl_module libexec/apache24/mod_ssl.so
LoadModule rewrite_module libexec/apache24/mod_rewrite.so
im nano (mit STRG+W) diese Zeile suchen:
LoadModule php7_module libexec/apache24/libphp7.so
(oder einfach nach "php7_module" suchen)
falls gefunden, dann gleich nach der Zeile folgendes hinzufügen:
<IfModule php7_module>
<FilesMatch "\.(php|phps|php7|phtml)$">
SetHandler php7-script
</FilesMatch>
DirectoryIndex index.php
</IfModule>
diese Zeile suchen:
<IFModule mime_module>
und das gleich drunter hinzufügen:
AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php .php
nano beenden und speichern
############################################################################
ls -la /usr/local/libexec/apache24/libphp7.so
wenn die datei existiert, weiter machen:
cd /usr/local/etc/apache24/modules.d
############################################################################
touch 001_mod_php.conf
nano 001_mod_php.conf
das hier hinzufügen:
<FilesMatch "\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
SetHandler application/x-httpd-php-source
</FilesMatch>
nano beenden und speichern
############################################################################
cd /usr/local/etc
############################################################################
cp php.ini-production php.ini
nano /usr/local/etc/php.ini
folgende Zeilen finden und auskommentieren/anpassen:
cgi.fix_pathinfo=1
date.timezone = Europe/Berlin
post_max_size= 1999M
upload_max_filesize = 1999M
opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1 # hier steht eventuell "2" nicht irritieren, einfach auf 1 ändern!
nano beenden und speichern
service apache24 restart
############################################################################
cd /usr/local/www/apache24/data
############################################################################
touch info.php
nano info.php
<?php
phpinfo();
?>
nano beenden und speichern
Im WebBrowser testen ob alles ok ist:
http://192.168.0.100/info.php
############################################################################
nano /usr/local/etc/redis.conf
Anpassen:
port 0
unixsocket /tmp/redis.sock
unixsocketperm 777
nano beenden und speichern
service redis start
ls -la /tmp
wenn redis.sock (und mysql.sock) existiert dann weitermachen...
NextCloud kann nun aus dem alten Jail übernommen werden
Mit exit aus iocage-jail raus gehen und im FreeNAS folgendes:
cd /mnt/DATEN/jails/ALTEJAILNAME/usr/local/www/apache24/
cp -r data/* /mnt/iocage/jails/JAILNAME/root/usr/local/www/apache24/data/
cd /mnt/DATEN/jails/ALTEJAILNAME/usr/local/etc/apache24/Includes
cp JAILNAME.DEINDOMAIN.conf /mnt/iocage/jails/JAILNAME/root/usr/local/etc/apache24/Includes/
cd /mnt/DATEN/jails/ALTEJAILNAME/usr/local/etc/
cp -R letsencrypt /mnt/iocage/jails/JAILNAME/root/usr/local/etc/
iocage console JAILNAME
nano /usr/local/www/apache24/data/nextcloud/config/config.php
und bei trusted_domain anpassen (ip ändern, in diesem Fall: 192.168.0.100)
chown -R www:www /usr/local/www/apache24/data/nextcloud
pkg install p5-Locale-gettext help2man texinfo m4 autoconf
make config-recursive install -C /usr/ports/databases/pecl-redis
make config-recursive install -C /usr/ports/devel/pecl-APCu
nano /usr/local/etc/apache24/httpd.conf
nach ServerName suchen und so ändern:
ServerName DEINDOMAINNAME:80
Unter Listen 80
Listen 443 hinzufügen
speichern und nano beenden
service apache24 restart
pkg install py27-certbot
/usr/local/bin/certbot renew # schauen ob alles ok ist!
setenv VISUAL /usr/local/bin/nano
setenv EDITOR /usr/local/bin/nano
crontab -u www -e
*/15 * * * * /usr/local/bin/php -f /usr/local/www/apache24/data/nextcloud/cron.php
nano beenden und speichern
crontab -e
* 1 * * 1 /usr/local/bin/certbot renew --quiet
nano beenden und speichern
############################################################################
############################################################################
############################################################################
nano /usr/local/www/apache24/data/nextcloud/.htaccess
das hier unter der Zeile mit dem Text "#### DO NOT CHANGE ANYTHING ABOVE THIS LINE ####" hinzufügen:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*)
https://%{HTTP_HOST}%{REQUEST_URI}
nano beenden und speichern
exit UND FERTIG ist es! ;)
Falls du noch clamav einsetzen möchtest, dann weitermachen:
#### ANTIVIRUS / CLAMAV ####
iocage console JAILNAME
pkg install git
cd /usr/local/www/apache24/data/nextcloud/apps/
git clone
https://github.com/nextcloud/files_antivirus.git
chown -R www:www files_antivirus
cd /usr/ports/security/clamav
make install clean
sysrc clamav_clamd_enable=YES
freshclam
service clamav-clamd restart
# Fals die meldung erscheint: "WARNING: Your ClamAV installation is OUTDATED!"
portsnap fetch update
service clamav-clamd stop
cd /usr/ports/security/clamav
make deinstall
make clean
make install
############################
Fertig aus die Maus! :)