diff --git a/tutorials/deploy-awstats/index.mdx b/tutorials/deploy-awstats/index.mdx
index 1d0ac25ff9..ed9301ff86 100644
--- a/tutorials/deploy-awstats/index.mdx
+++ b/tutorials/deploy-awstats/index.mdx
@@ -9,7 +9,7 @@ categories:
- instances
tags: AwStats FTP Apache
dates:
- validation: 2024-10-08
+ validation: 2025-05-02
posted: 2018-12-03
---
diff --git a/tutorials/deploy-nextcloud-s3/assets/scaleway-nc_admin_ext_storage.webp b/tutorials/deploy-nextcloud-s3/assets/scaleway-nc_admin_ext_storage.webp
index 67b0b2a661..373698d1d3 100644
Binary files a/tutorials/deploy-nextcloud-s3/assets/scaleway-nc_admin_ext_storage.webp and b/tutorials/deploy-nextcloud-s3/assets/scaleway-nc_admin_ext_storage.webp differ
diff --git a/tutorials/deploy-nextcloud-s3/assets/scaleway-nc_apps.webp b/tutorials/deploy-nextcloud-s3/assets/scaleway-nc_apps.webp
index 865d964622..50a264cb8b 100644
Binary files a/tutorials/deploy-nextcloud-s3/assets/scaleway-nc_apps.webp and b/tutorials/deploy-nextcloud-s3/assets/scaleway-nc_apps.webp differ
diff --git a/tutorials/deploy-nextcloud-s3/assets/scaleway-nc_config_storage.webp b/tutorials/deploy-nextcloud-s3/assets/scaleway-nc_config_storage.webp
index d8cdd7c8fa..22400ce2b7 100644
Binary files a/tutorials/deploy-nextcloud-s3/assets/scaleway-nc_config_storage.webp and b/tutorials/deploy-nextcloud-s3/assets/scaleway-nc_config_storage.webp differ
diff --git a/tutorials/deploy-nextcloud-s3/assets/scaleway-nc_external_storage_enable.webp b/tutorials/deploy-nextcloud-s3/assets/scaleway-nc_external_storage_enable.webp
index c31732e13f..94c1784bd5 100644
Binary files a/tutorials/deploy-nextcloud-s3/assets/scaleway-nc_external_storage_enable.webp and b/tutorials/deploy-nextcloud-s3/assets/scaleway-nc_external_storage_enable.webp differ
diff --git a/tutorials/deploy-nextcloud-s3/assets/scaleway-nc_external_storage_files.webp b/tutorials/deploy-nextcloud-s3/assets/scaleway-nc_external_storage_files.webp
index 9e9383bb9e..3e7228ef56 100644
Binary files a/tutorials/deploy-nextcloud-s3/assets/scaleway-nc_external_storage_files.webp and b/tutorials/deploy-nextcloud-s3/assets/scaleway-nc_external_storage_files.webp differ
diff --git a/tutorials/deploy-nextcloud-s3/assets/scaleway-nextcloud-obstorage.webp b/tutorials/deploy-nextcloud-s3/assets/scaleway-nextcloud-obstorage.webp
deleted file mode 100644
index 56d8e32b99..0000000000
Binary files a/tutorials/deploy-nextcloud-s3/assets/scaleway-nextcloud-obstorage.webp and /dev/null differ
diff --git a/tutorials/deploy-nextcloud-s3/index.mdx b/tutorials/deploy-nextcloud-s3/index.mdx
index 3d7a1ed1f2..5fe70a1461 100644
--- a/tutorials/deploy-nextcloud-s3/index.mdx
+++ b/tutorials/deploy-nextcloud-s3/index.mdx
@@ -10,7 +10,7 @@ categories:
- instances
tags: NextCloud mariadb apache
dates:
- validation: 2024-10-15
+ validation: 2025-05-07
posted: 2018-11-16
---
@@ -23,7 +23,7 @@ Combining NextCloud with Scaleway Object Storage gives you infinite storage spac
- A Scaleway account logged into the [console](https://console.scaleway.com)
- [Owner](/iam/concepts/#owner) status or [IAM permissions](/iam/concepts/#permission) allowing you to perform actions in the intended Organization
- An [SSH key](/organizations-and-projects/how-to/create-ssh-key/)
-- An [Instance](/instances/how-to/create-an-instance/) running on Ubuntu Jammy Jellyfish (22.04) or later
+- An [Instance](/instances/how-to/create-an-instance/) running on Ubuntu 24.04 or later
- Installed and configured [MariaDB](/tutorials/mariadb-ubuntu-bionic/) on your Instance
- `sudo` privileges or access to the root user
@@ -49,9 +49,13 @@ Combining NextCloud with Scaleway Object Storage gives you infinite storage spac
Check the [NextCloud changelog](https://nextcloud.com/changelog/) for the latest release.
-5. Extract the archive:
+5. Download `bzip2` to exract the archive.
```
- tar -xjf latest.tar.bz2
+ apt install bzip2
+ ```
+5. Extract the archive.
+ ```
+ tar -xvjf nextcloud.tar.bz2
```
6. Move the extracted folder to the Apache web directory:
```
@@ -89,13 +93,13 @@ Combining NextCloud with Scaleway Object Storage gives you infinite storage spac
8. Enable the configuration and reload Apache to activate the site:
```
a2ensite nextcloud.conf
- systemctl reload apache2.service
+ systemctl reload apache2
```
9. Enable SSL. Apache provides a self-signed certificate to encrypt the connection to your server. You can activate it with the following commands:
```
a2enmod ssl
a2ensite default-ssl
- systemctl reload apache2.service
+ systemctl reload apache2
```
@@ -118,7 +122,7 @@ Combining NextCloud with Scaleway Object Storage gives you infinite storage spac
```
2. Create an empty database for NextCloud:
```sql
- CCREATE DATABASE nextcloud;
+ CREATE DATABASE nextcloud;
CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY 'your_secure_password';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextclouduser'@'localhost';
FLUSH PRIVILEGES;
@@ -212,23 +216,31 @@ You can use NextCloud as a client for Object Storage while using the Local Stora
1. Log into your NextCloud to configure the Object Storage bucket.
2. From the NextCloud interface, click **Apps** in the drop-down menu to access the list of available apps:
-3. Enable the **External Storage Service** by clicking on **Enable**:
+3. Click **Disabled apps** in the left navigation menu.
+4. Click **Enable** to enable the **External Storage Support** app:
-4. Click **Settings** in the drop-down menu, then on **External Storages** in the **Administration** section of the page:
+
+
+ You might need to re-enter your admin password to complete this action.
+
+4. Click **Administration Settings** in the drop-down menu, then on **External Storage** in the **Administration** section of the page:
5. Configure the credentials for your bucket:
- - `Bucket` = The Name of your bucket
- - `Hostname` = The hostname of the bucket (For Scaleway Object Storage in Amsterdam: `s3.nl-ams.scw.cloud`, for Scaleway Object Storage in Paris: `s3.fr-par.scw.cloud` for Warsaw: `s3.pl-waw.scw.cloud`)
- - `Port` = The port for your bucket, leave this empty
- - `Region` = The geographical region of your bucket (Either: `nl-ams` for Amsterdam, The Netherlands, `pl-waw` for Warsaw, Poland, or `fr-par` for Paris, France)
- - `Enable SSL` = Activate this checkbox to encrypt the connection between your NextCloud and the Bucket
- - `Access key` = Your [access key](/iam/how-to/create-api-keys/)
- - `Secret key` = Your [secret key](/iam/how-to/create-api-keys/)
+ - **Bucket** - The Name of your bucket
+ - **Hostname** - The hostname of the bucket (For Scaleway Object Storage in Amsterdam: `s3.nl-ams.scw.cloud`, for Scaleway Object Storage in Paris: `s3.fr-par.scw.cloud`, for Warsaw: `s3.pl-waw.scw.cloud`)
+ - **Port** - The port for your bucket, leave this empty
+ - **Region** - The geographical region of your bucket (Either: `nl-ams` for Amsterdam, The Netherlands, `pl-waw` for Warsaw, Poland, or `fr-par` for Paris, France)
+ - **Storage Class** - The AWS storage class. You can leave this empty.
+ - **Enable SSL** - Activate this checkbox to encrypt the connection between your NextCloud and the Bucket
+ - **Access key** - Your [access key](/iam/how-to/create-api-keys/)
+ - **Secret key** - Your [secret key](/iam/how-to/create-api-keys/)
Once you have entered all the details, click the checkmark to validate your configuration. If everything works well, a green dot will appear on the left.
-6. Click the **file icon**, then on **External Storages** to access your bucket:
+6. Click the **file icon**, then on **External Storage** to access your bucket:
-You can now upload and manage the files in your bucket directly from NextCloud.
\ No newline at end of file
+You can now upload and manage the files in your bucket directly from NextCloud.
+
+
diff --git a/tutorials/glusterfs/index.mdx b/tutorials/glusterfs/index.mdx
index 49cb497952..e0830d1c24 100644
--- a/tutorials/glusterfs/index.mdx
+++ b/tutorials/glusterfs/index.mdx
@@ -9,7 +9,7 @@ tags: glusterfs network filesystem Ubuntu
categories:
- instances
dates:
- validation: 2024-10-15
+ validation: 2025-05-02
posted: 2018-09-28
---
@@ -94,7 +94,7 @@ Before installing GlusterFS, ensure each Instance can resolve the others via the
You should see GlusterFS 11.x and an active status for the service.
-## Setting Up a distributed GlusterFS volume with Scaleway Block Storage
+## Setting up a distributed GlusterFS volume with Scaleway Block Storage
In a production environment, it is **strongly recommended** to use dedicated storage, such as **Scaleway Block Storage**, instead of system directories for GlusterFS volumes.
diff --git a/tutorials/self-hosted-repository-gitea/index.mdx b/tutorials/self-hosted-repository-gitea/index.mdx
index 6e973e3b51..efafd8247f 100644
--- a/tutorials/self-hosted-repository-gitea/index.mdx
+++ b/tutorials/self-hosted-repository-gitea/index.mdx
@@ -9,7 +9,7 @@ categories:
- instances
tags: development Gitea versioning repository
dates:
- validation: 2024-10-08
+ validation: 2025-05-06
posted: 2019-05-28
---
diff --git a/tutorials/setup-postfix-ubuntu-bionic/index.mdx b/tutorials/setup-postfix-ubuntu-bionic/index.mdx
index 2e71bc90cf..60e2761aba 100644
--- a/tutorials/setup-postfix-ubuntu-bionic/index.mdx
+++ b/tutorials/setup-postfix-ubuntu-bionic/index.mdx
@@ -9,7 +9,7 @@ categories:
- instances
tags: security DKIM Rspamd MariaDB Roundcube dmarc
dates:
- validation: 2024-10-15
+ validation: 2025-05-07
posted: 2020-06-04
---
@@ -25,7 +25,7 @@ You learn also how to install a Roundcube webmail interface to be able to read y
- A Scaleway account logged into the [console](https://console.scaleway.com)
- [Owner](/iam/concepts/#owner) status or [IAM permissions](/iam/concepts/#permission) allowing you to perform actions in the intended Organization
- An [SSH key](/organizations-and-projects/how-to/create-ssh-key/)
-- An [Instance](/instances/how-to/create-an-instance/) running Ubuntu Bionic Beaver or later
+- An [Instance](/instances/how-to/create-an-instance/) running Ubuntu 24.04 or later
- A [domain or subdomain](/domains-and-dns/quickstart/) configured to point to the IP address of your Instance
- Enabled the [SMTP ports](/instances/how-to/send-emails-from-your-instance/) to send emails from your Instance
@@ -55,7 +55,7 @@ You learn also how to install a Roundcube webmail interface to be able to read y
1. Install the required packages:
```bash
- apt install nginx mariadb-server php8.1-fpm php8.1-cli php8.1-imap php8.1-json php8.1-mysql php8.1-opcache php8.1-mbstring php8.1-readline php8.1-intl -y
+ apt install nginx mariadb-server php-fpm php-cli php-imap php-json php-mysql php-opcache php-mbstring php-readline php-intl -y
```
2. Secure the MariaDB installation:
@@ -69,12 +69,15 @@ You learn also how to install a Roundcube webmail interface to be able to read y
## Install and configure PostfixAdmin
-1. Download and extract PostfixAdmin:
+1. Download and extract PostfixAdmin.
```bash
- wget https://github.com/postfixadmin/postfixadmin/archive/refs/tags/postfixadmin-3.3.13.tar.gz
- tar xzf PostfixAdmin*.tar.gz
- mv postfixadmin-*/ /var/www/postfixadmin
+ wget -O postfixadmin.tgz https://github.com/postfixadmin/postfixadmin/archive/postfixadmin-3.3.15.tar.gz
+ tar -zxvf postfixadmin.tgz
+ mv postfixadmin-postfixadmin-3.3.15/ /var/www/postfixadmin
```
+
+ In this tutorial we are using version 3.3.15. Refer to the official [PostFixAdmin repository](https://github.com/postfixadmin/postfixadmin) to check the latest stable version.
+
2. Set the correct file permissions:
```bash
@@ -145,7 +148,7 @@ You learn also how to install a Roundcube webmail interface to be able to read y
}
location ~ \.php$ {
- fastcgi_pass unix:/run/php/php8.1-fpm.sock;
+ fastcgi_pass unix:/run/php/php*-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
@@ -273,9 +276,7 @@ You learn also how to install a Roundcube webmail interface to be able to read y
3. Download and install Roundcube:
```bash
- wget
-
- https://github.com/roundcube/roundcubemail/releases/download/1.6.1/roundcubemail-1.6.1-complete.tar.gz
+ wget https://github.com/roundcube/roundcubemail/releases/download/1.6.1/roundcubemail-1.6.1-complete.tar.gz
tar xzf roundcubemail-1.6.1-complete.tar.gz
mv roundcubemail-1.6.1 /var/www/webmail
chown -R www-data: /var/www/webmail
diff --git a/tutorials/strapi/index.mdx b/tutorials/strapi/index.mdx
index a175577130..d0643e7ba3 100644
--- a/tutorials/strapi/index.mdx
+++ b/tutorials/strapi/index.mdx
@@ -10,7 +10,7 @@ content:
paragraph: Strapi is an open-source, Node.js-based, headless CMS to manage content and make it available through a fully customizable API. In this tutorial you will learn how to deploy Strapi on a Scaleway Instance, to create and access a simple Hello World blog post.
tags: Strapi CMS Ubuntu
dates:
- validation: 2024-10-15
+ validation: 2025-05-02
posted: 2020-11-30
---
@@ -41,7 +41,7 @@ In this tutorial, you will learn how to deploy Strapi on a [Scaleway Instance](/
```
4. Create the deb repository:
```
- echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_18.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
+ echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
```
5. Update the `apt` package cache and install Node.js with the following command (npm and npx will also install):
```
@@ -76,7 +76,7 @@ In this tutorial, you will learn how to deploy Strapi on a [Scaleway Instance](/
2. Install Strapi in this directory and create a new project:
```
cd strapi-projects
- npx create-strapi-app@latest --quickstart
+ npx create-strapi-app@latest --quickstart strapi-projects
```
The command above uses the latest version of Strapi. Check out their [GitHub repository](https://github.com/strapi/strapi/releases) to find details and additional information about the Strapi release.
@@ -116,9 +116,12 @@ In this step, we will use the Strapi dashboard to configure Strapi for a very si
You should see the following:
-2. Complete the form with your desired information to create an admin user, then click `Let's Start`. Next, we will essentially define a new database to hold our blog content.
-3. Click `Create Your First Content Type`.
-4. Enter `Blog` as the display name (UID will auto-complete), and click `Continue`:
+2. Complete the form with your desired information to create an admin user, then click **Let's Start**. Next, we will essentially define a new database to hold our blog content.
+3. Click **Create Your First Content Type**.
+
+ Alternatively, click **Content-Type Builder** and **+ Create new collection type** in the navigation menu.
+
+4. Enter **Blog** as the display name (UID will auto-complete), and click **Continue**:
The following screen displays:
@@ -126,45 +129,39 @@ In this step, we will use the Strapi dashboard to configure Strapi for a very si
Next, we will define the fields for our Blog database. We will add two text fields, one to hold the title of each blog post and one to hold the content of each post:
-5. Click `Text`. The following screen displays:
+5. Click **Text**. The following screen displays:
-6. Enter `Title` in the name field, and click `Add another field`:
+6. Enter `Title` in the name field, and click **Add another field**:
You are taken back to the list of possible field types:
-7. Click `Text`. The following screen displays:
+7. Click **Text**. The following screen displays:
-8. Enter `Content` in the name field, and select `Long text` underneath, then click `Finish`:
+8. Enter **Content** in the name field, and select **Long text** underneath, then click **Finish**:
-9. A summary of the Blog collection that you have just created displays. Click `Save`:
+9. A summary of the Blog collection that you have just created displays. Click **Save**:
Strapi will restart and refresh your dashboard.
- Now that we have set up the database to hold our blog, we will create a quick "Hello World" blog post:
-10. Click `Blogs`, which now appears as a Collection Type in the top left of the screen:
+ Now that we have set up the database to hold our blog, we will create a quick "Hello World" blog post.
+10. Click **Blog**, which now appears as a **Collection Type** under the **Content Manager** section of the navigation menu:
-
- The following screen displays:
-
-
-11. Click `Add New Blog` in the top right. The following screen displays:
-
-12. Enter a title and content of your choice, or use the following 'Hello World' examples. Then click `Save`, followed by `Publish`:
+11. Click **Create new entry** in the top right.
+12. Enter a title and content of your choice, or use the following 'Hello World' examples. Then click **Save**, followed by **Publish**:
- The screen should now look like this:
-
-
+
+ You can see the published content in the **Published** tab.
+
- The final step is to make all our blog content publicly available.
-13. In the left-hand menu, click `Settings`, then under the `Users & Permissions plugin` click `Roles`:
+ The final step is to make the content of our blog publicly available.
+13. Click **Settings**, then **Roles** under the **Users and Permissions Plugin** section of the navigation menu.
-14. Click `Public`. The following screen displays:
-
-15. Under `Permissions`, you can see our `BLOG` application. Check the `findone` and `find` boxes to enable the public to find our blog posts. Then click `Save`:
+14. Click **Public**. Under **Permissions**, you can see our **Blog** application.
+16. Check the **findone** and **find** boxes in the **Blog** application drop-down, to enable the public to find our blog posts. Then click **Save**:
Now we can access our "Hello World" blog post from the built-in API with the following action:
diff --git a/tutorials/use-container-registry-github-actions/index.mdx b/tutorials/use-container-registry-github-actions/index.mdx
index 0ec4da9f6f..1b7bd10fe3 100644
--- a/tutorials/use-container-registry-github-actions/index.mdx
+++ b/tutorials/use-container-registry-github-actions/index.mdx
@@ -10,7 +10,7 @@ categories:
- container-registry
- containers
dates:
- validation: 2024-10-08
+ validation: 2025-05-06
posted: 2023-02-27
---
diff --git a/tutorials/zammad-ticketing/index.mdx b/tutorials/zammad-ticketing/index.mdx
index 206281252c..8e080b968b 100644
--- a/tutorials/zammad-ticketing/index.mdx
+++ b/tutorials/zammad-ticketing/index.mdx
@@ -19,7 +19,7 @@ Zammad is an open-source helpdesk system that allows you to oversee customer int
This tutorial will guide you through the process of installing Zammad on a Scaleway Instance operating on **Ubuntu 20.04 LTS (Focal Fossa)**. Furthermore, you will receive a brief orientation of the application.
- We recommend you follow this tutorial using a [Cost-Optimized Instance](/instances/reference-content/choosing-instance-type/).
+ We recommend you follow this tutorial using a [Cost-Optimized Instance](/instances/reference-content/choosing-instance-type/). If you are installing Zammad on Ubuntu 22.04 and up, avoid using an Instance with ARM architecure to follow this tutorial, as the package manager used upon installation is not compatible with the ARM architecture.
@@ -95,13 +95,13 @@ Zammad requires an [Elasticsearch](https://www.elastic.co/elasticsearch/) databa
2. Install the Zammad GPG key on your system:
```
curl -fsSL https://dl.packager.io/srv/zammad/zammad/key | \
- gpg --dearmor | tee /etc/apt/trusted.gpg.d/pkgr-zammad.gpg> /dev/null
+ gpg --dearmor | sudo tee /etc/apt/keyrings/pkgr-zammad.gpg> /dev/null
```
3. Add the Zammad repository to the `apt` package manager:
```
- echo "deb [signed-by=/etc/apt/trusted.gpg.d/pkgr-zammad.gpg] https://dl.packager.io/srv/deb/zammad/zammad/stable/ubuntu 22.04 main"| \
- tee /etc/apt/sources.list.d/zammad.list > /dev/null
+ echo "deb [signed-by=/etc/apt/keyrings/pkgr-zammad.gpg] https://dl.packager.io/srv/deb/zammad/zammad/stable/ubuntu 24.04 main"| \
+ sudo tee /etc/apt/sources.list.d/zammad.list > /dev/null
```
4. Update the `apt` package manager to activate the new repository and install Zammad:
```