conf_server/install_nextcloud.sh

102 lines
4.1 KiB
Bash
Raw Normal View History

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