2023-01-11 01:03:34 +01:00
|
|
|
#!/bin/sh
|
|
|
|
|
|
|
|
. ./utils.sh
|
|
|
|
. ./myserver.conf
|
|
|
|
|
|
|
|
install_package_nextcloud()
|
|
|
|
{
|
2023-05-15 23:16:25 +02:00
|
|
|
pkg_add php-bz2-8.1.18 php-curl-8.1.18 php-gd-8.1.18 php-gmp-8.1.18 \
|
|
|
|
php-intl-8.1.18 php-pdo_pgsql-8.1.18 php-zip-8.1.18 \
|
2023-01-11 01:03:34 +01:00
|
|
|
pecl80-imagick-3.7.0p1 pecl80-redis-5.3.7p0 \
|
2023-05-15 23:16:25 +02:00
|
|
|
nextcloud-25.0.6
|
2023-01-11 01:03:34 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
enable_nextlcoud_php_modules(){
|
|
|
|
#enable modules
|
2023-05-15 23:16:25 +02:00
|
|
|
ln -s /etc/php-8.1.sample/gd.ini /etc/php-8.1/gd.ini
|
|
|
|
ln -s /etc/php-8.1.sample/imagick.ini /etc/php-8.1/imagick.ini
|
|
|
|
ln -s /etc/php-8.1.sample/opcache.ini /etc/php-8.1/opcache.ini
|
|
|
|
ln -s /etc/php-8.1.sample/curl.ini /etc/php-8.1/curl.ini
|
|
|
|
ln -s /etc/php-8.1.sample/gmp.ini /etc/php-8.1/gmp.ini
|
|
|
|
ln -s /etc/php-8.1.sample/intl.ini /etc/php-8.1/intl.ini
|
|
|
|
ln -s /etc/php-8.1.sample/redis.ini /etc/php-8.1/redis.ini
|
|
|
|
ln -s /etc/php-8.1.sample/bz2.ini /etc/php-8.1/bz2.ini
|
|
|
|
ln -s /etc/php-8.1.sample/zip.ini /etc/php-8.1/zip.ini
|
|
|
|
ln -s /etc/php-8.1.sample/pdo_pgsql.ini /etc/php-8.1/pdo_pgsql.ini
|
2023-01-11 01:03:34 +01:00
|
|
|
restart_php_service
|
|
|
|
}
|
|
|
|
|
|
|
|
configure_nginx_service(){
|
|
|
|
cp default_configuration/nextcloud/nginx.conf.sample my_configuration/nextcloud/nginx.conf
|
|
|
|
sed -i "s/__nextcloud_domain__/$nextcloud_domain/g" my_configuration/nextcloud/nginx.conf
|
|
|
|
}
|
|
|
|
|
|
|
|
create_nextcloud_db(){
|
|
|
|
psql template1 postgres -c "CREATE USER $nextcloud_db_user WITH PASSWORD '$nextcloud_db_pass' CREATEDB ;"
|
|
|
|
psql template1 postgres -c "CREATE DATABASE $nextcloud_db_name TEMPLATE template1 ENCODING 'UTF8' ;"
|
2023-05-15 23:16:25 +02:00
|
|
|
psql template1 postgres -c "GRANT ALL PRIVILEGES ON DATABASE $nextcloud_db_name TO $nextcloud_db_user;"
|
|
|
|
psql template1 postgres -c "ALTER DATABASE $nextcloud_db_name OWNER TO nextcloud_db_user;"
|
2023-01-11 01:03:34 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
install_configuration_files_nextcloud(){
|
|
|
|
cp my_configuration/nextcloud/nginx.conf /etc/nginx/sites-available/$nextcloud_domain
|
|
|
|
ln -s /etc/nginx/sites-available/$nextcloud_domain /etc/nginx/sites-enabled/$nextcloud_domain
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
check_services_for_nextlcoud()
|
|
|
|
{
|
|
|
|
check_webserver_service
|
|
|
|
check_redis_service
|
|
|
|
check_php_service
|
|
|
|
check_postgresql_service
|
|
|
|
}
|
|
|
|
|
|
|
|
install_nextcloud(){
|
|
|
|
cp -v my_configuration/nextcloud/custom.config.php /var/www/nextcloud/config/
|
|
|
|
cd /var/www/nextcloud
|
|
|
|
touch config/CAN_INSTALL
|
|
|
|
rm config/config.php
|
|
|
|
su -m www -c "./occ maintenance:install --database pgsql \
|
|
|
|
--database-name $nextcloud_db_name --database-host localhost --database-user $nextcloud_db_user\
|
|
|
|
--database-pass $nextcloud_db_pass --admin-user $nextcloud_admin --admin-pass $nextcloud_admin_password"
|
|
|
|
su -m www -c "./occ config:system:set datadirectory --value=/nextcloud/data"
|
|
|
|
su -m www -c "./occ config:system:set overwrite.cli.url --value=https://$nextcloud_domain"
|
|
|
|
su -m www -c "./occ config:system:set trusted_domains 0 --value=$nextcloud_domain"
|
|
|
|
su -m www -c "./occ config:system:set default_phone_region --value=fr"
|
|
|
|
su -m www -c "./occ config:system:set mail_from_address --value=nextcloud"
|
|
|
|
su -m www -c "./occ config:system:set mail_smtpmode --value=smtp"
|
|
|
|
su -m www -c "./occ config:system:set mail_sendmailmode --value=smtp"
|
|
|
|
su -m www -c "./occ config:system:set mail_domain --value=$DOMAIN"
|
|
|
|
su -m www -c "./occ config:system:set mail_smtphost --value=$DOMAIN"
|
|
|
|
su -m www -c "./occ config:system:set mail_smtpport --value=25"
|
|
|
|
su -m www -c "./occ config:system:set memcache.local --value='\\OC\\Memcache\\Redis'"
|
|
|
|
su -m www -c "./occ config:system:set memcache.locking --value='\\OC\\Memcache\\Redis'"
|
|
|
|
su -m www -c "./occ config:system:set redis host --value=127.0.0.1"
|
|
|
|
su -m www -c "./occ config:system:set redis port --value=6379"
|
|
|
|
echo '*/5 * * * * su -m www -c "/usr/local/bin/php-8.0 -f /var/www/nextcloud/cron.php"' >> \
|
|
|
|
/var/cron/tabs/root
|
|
|
|
|
|
|
|
}
|
2023-05-15 23:16:25 +02:00
|
|
|
mkdir my_configuration/nextcloud
|
|
|
|
|
|
|
|
if [ "$1" == "gen-config-only" ];
|
|
|
|
then
|
|
|
|
check_services_for_nextcloud
|
|
|
|
configure_nginx_service
|
|
|
|
elif [ "$1" == "install" ];
|
|
|
|
then
|
|
|
|
check_services_for_nextcloud
|
|
|
|
configure_nginx_service
|
|
|
|
install_package_nextcloud
|
|
|
|
enable_nextlcoud_php_modules
|
|
|
|
create_nextcloud_db
|
|
|
|
install_configuration_files_nextcloud
|
|
|
|
install_nextcloud
|
|
|
|
restart_webserver_service
|
|
|
|
fi
|
|
|
|
|
2023-01-11 01:03:34 +01:00
|
|
|
|
|
|
|
|