Install on Ubuntu 2204 2210 » History » Revision 8
« Previous |
Revision 8/57
(diff)
| Next »
Gareth Eaton, 04/25/2023 06:36 AM
Install on Ubuntu 2204¶
Requirements¶
- A server running Ubuntu 22.04.
- A valid domain name pointed to the server or Nginx Proxy Manager IP. See A Record
- A root password is configured on your server.
Before starting, LAMP stack must be installed on your server. If not installed, you can install it with the following command:
apt install apache2 mariadb-server php php-cli php-fpm php-json php-intl php-imagick php-pdo php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath apache2 libapache2-mod-php -y
After installing all packages, edit the PHP configuration file and change some default settings:
nano /etc/php/8.1/apache2/php.ini
Change the following lines:
date.timezone = UTC memory_limit = 512M upload_max_filesize = 500M post_max_size = 500M max_execution_time = 300
Save and close the file then restart the Apache service to apply the changes:
systemctl restart apache2
Create a Database for Nextcloud¶
Nextcloud uses a MariaDB database as a database backend so you will need to create a database and user in MariaDB.
First, connect to the MariaDB shell with the following command:
mysql
Once you are connected to the MariaDB, create a database and user with the following command:
CREATE DATABASE nextcloud; CREATE USER 'nextcloud'@'localhost' identified by 'password';
Next, grant all the privileges to the Nextcloud database with the following command:
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost';
Next, flush the privileges and exit from the MariaDB with the following command:
FLUSH PRIVILEGES; QUIT;
Download Nextcloud¶
At the time of writing the article, the latest version of Nextcloud is 25.0.6. You can download it with the following command:
wget https://download.nextcloud.com/server/releases/nextcloud-25.0.6.zip
Once the download is completed, unzip the downloaded file with the following command:
unzip nextcloud-24.0.1.zip
Next, move the extracted directory to the Apache web root with the following command:
mv nextcloud /var/www/html/
Next, change the ownership and permission of the Nextcloud directory using the following command:
chown -R www-data:www-data /var/www/html/nextcloud chmod -R 775 /var/www/html/nextcloud
Create an Apache Virtual Host for Nextcloud¶
Next, you will need to create an Apache virtual host configuration file for Nextcloud. You can create it with the following command:
nano /etc/apache2/sites-available/next.conf
Add the following lines:
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /var/www/html/nextcloud ServerName next.example.com ErrorLog /var/log/apache2/nextcloud-error.log CustomLog /var/log/apache2/nextcloud-access.log combined <Directory /var/www/html/nextcloud> Options +FollowSymlinks AllowOverride All Require all granted SetEnv HOME /var/www/html/nextcloud SetEnv HTTP_HOME /var/www/html/nextcloud <IfModule mod_dav.c> Dav off </IfModule> </Directory> </VirtualHost>
Save and close the file then activate the Apache virtual host and other required Apache modules with the following command:
a2ensite next a2enmod rewrite dir mime env headers
Next, restart the Apache service to apply the changes:
systemctl restart apache2
NOTE: we have had it where the default site configuration was overriding my vhost configuration, if this happens to you you can disable the default configuration.
sudo a2dissite 000-default.conf service apache2 reload
Installing SSL with Let's Encrypt SSL
Installing on with a Nginx with a reverse proxy using a Nginx Proxy Manager¶
Updated by Gareth Eaton over 1 year ago · 8 revisions