93 lines
3.9 KiB
Bash
93 lines
3.9 KiB
Bash
|
#!/bin/sh
|
||
|
|
||
|
. ./utils.sh
|
||
|
. ./myserver.conf
|
||
|
|
||
|
install_package_nextcloud()
|
||
|
{
|
||
|
pkg_add php-bz2-8.0.26 php-curl-8.0.26 php-gd-8.0.26 php-gmp-8.0.26 \
|
||
|
php-intl-8.0.26 php-pdo_pgsql-8.0.26 php-zip-8.0.26 \
|
||
|
pecl80-imagick-3.7.0p1 pecl80-redis-5.3.7p0 \
|
||
|
nextcloud-24.0.5
|
||
|
}
|
||
|
|
||
|
enable_nextlcoud_php_modules(){
|
||
|
#enable modules
|
||
|
ln -s /etc/php-8.0.sample/gd.ini /etc/php-8.0/gd.ini
|
||
|
ln -s /etc/php-8.0.sample/imagick.ini /etc/php-8.0/imagick.ini
|
||
|
ln -s /etc/php-8.0.sample/opcache.ini /etc/php-8.0/opcache.ini
|
||
|
ln -s /etc/php-8.0.sample/curl.ini /etc/php-8.0/curl.ini
|
||
|
ln -s /etc/php-8.0.sample/gmp.ini /etc/php-8.0/gmp.ini
|
||
|
ln -s /etc/php-8.0.sample/intl.ini /etc/php-8.0/intl.ini
|
||
|
ln -s /etc/php-8.0.sample/redis.ini /etc/php-8.0/redis.ini
|
||
|
ln -s /etc/php-8.0.sample/bz2.ini /etc/php-8.0/bz2.ini
|
||
|
ln -s /etc/php-8.0.sample/zip.ini /etc/php-8.0/zip.ini
|
||
|
ln -s /etc/php-8.0.sample/pdo_pgsql.ini /etc/php-8.0/pdo_pgsql.ini
|
||
|
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' ;"
|
||
|
psql template1 postgres -c "GRANT ALL PRIVILEGES ON DATABASE $nextcloud_db_name TO $nextcloud_db_user ;"
|
||
|
psql template1 postgres -c "GRANT ALL PRIVILEGES ON SCHEMA public TO $nextcloud_db_user ;"
|
||
|
}
|
||
|
|
||
|
|
||
|
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
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
mkdir my_configuration/nextcloud
|
||
|
check_services_for_nextlcoud
|
||
|
install_package_nextcloud
|
||
|
enable_nextlcoud_php_modules
|
||
|
configure_nginx_service
|
||
|
create_nextcloud_db
|
||
|
install_configuration_files_nextcloud
|
||
|
install_nextcloud
|
||
|
restart_webserver_service
|