# Αναβάθμιση

Σημείωση: Σε αυτή τη σελίδα, χρησιμοποιούμε το 2.0.0 ως αυστηρό αριθμό έκδοσης και το 2.x για να αναφερθούμε σε όλες τις εκδόσεις που ξεκινούν με τον αριθμό 2 (2.0.0, 2.0.1, 2.1.0, κ.λπ.)

Η διαδικασία αναβάθμισης από 1.11.x σε 2.x περιγράφεται στο αρχείο `public/documentation/installation_guide.html` του κώδικα Chamilo σας. Οι πληροφορίες εδώ είναι σε μεγάλο βαθμό περιττές. Μπορείτε να τις δείτε online στο `https://campus.chamilo.net/documentation/installation_guide.html`. Παρόλο που έχουμε πραγματοποιήσει εκτεταμένες δοκιμές σε παρόμοιες μεταφορές, επειδή ορισμένες από τις ρυθμίσεις του 1.11.x δεν υποστηρίζονταν ακόμη στο 2.0.0, συνιστούμε να περιμένετε την έκδοση 2.1 πριν αναβαθμίσετε ένα σύστημα 1.11.x, ή να συνοδεύεστε επαγγελματικά από [επίσημους παρόχους Chamilo](https://chamilo.org/providers) σε αυτή την προσπάθεια.

## Αναβάθμιση από 1.11.x σε 2.x

Η αναβάθμιση από Chamilo 1.11.x σε 2.x είναι **μεγάλη μετεγκατάσταση**, όχι απλή ενημέρωση. Το Chamilo 2.0 ξαναχτίστηκε στο πλαίσιο Symfony με αναδιαρθρωμένη σχήμα βάσης δεδομένων, νέο API και διαφορετική οργάνωση αρχείων. Σχεδιάστε αυτή τη μετεγκατάσταση προσεκτικά και δοκιμάστε την σε περιβάλλον δοκιμών πριν την εφαρμογή σε παραγωγή.

### Πριν Αρχίσετε

1. **Διαβάστε τις σημειώσεις έκδοσης** για το Chamilo 2.x για να κατανοήσετε τι έχει αλλάξει, τι είναι νέο και ποιες λειτουργίες από το 1.11.x μπορεί να μην είναι ακόμη διαθέσιμες.
2. **Κάντε αντιγραφή ασφαλείας σε όλα**:
   * Πλήρες dump βάσης δεδομένων (`mysqldump` ή ισοδύναμο).
   * Όλα τα αρχεία στον κατάλογο εγκατάστασης Chamilo 1.11.x, ιδιαίτερα `app/upload/`, `app/courses/` και `main/`.
   * Το αρχείο `configuration.php` σας.
3. **Δοκιμάστε πρώτα σε server δοκιμών.** Ποτέ μην εκτελείτε τη μετεγκατάσταση απευθείας στον server παραγωγής σας.
4. **Επαληθεύστε τις απαιτήσεις server.** Το Chamilo 2.x έχει διαφορετικές απαιτήσεις από το 1.11.x (σημειωτέον, PHP 8.2+). Δείτε [Απαιτήσεις Server](/2.x-el/odigos-diaxeirisis/admin-guide/installation/server-requirements.md).

### Τι Μπορεί να Απαιτεί Χειροκίνητη Προσοχή

| Περιοχή                                          | Σημειώσεις                                                                                                                                                                                                                        |
| ------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Προσαρμοσμένα plugins**                        | Τα plugins του 1.11.x δεν είναι συμβατά με το 2.x. Πρέπει να ξαναγραφούν ή να αντικατασταθούν, κάτι που έχει γίνει εν μέρει στο 2.0 και θα ολοκληρωθεί στο 2.1 για τα επίσημα plugins.                                            |
| **Προσαρμοσμένα θέματα**                         | Τα θέματα του 1.11.x δεν λειτουργούν στο 2.x. Αναδημιουργήστε την ταυτότητα σας χρησιμοποιώντας το σύστημα θεμάτων του 2.x.                                                                                                       |
| **Προσαρμοσμένες τροποποιήσεις βάσης δεδομένων** | Οποιεσδήποτε άμεσες τροποποιήσεις βάσης δεδομένων εκτός Chamilo μπορεί να μην μεταφερθούν.                                                                                                                                        |
| **Πακέτα SCORM**                                 | Το περιεχόμενο SCORM θα πρέπει να μεταφερθεί, αλλά δοκιμάστε τα πακέτα ξεχωριστά για να επαληθεύσετε την αναπαραγωγή.                                                                                                             |
| **Εξωτερικές ενσωματώσεις**                      | Οποιεσδήποτε ενσωματώσεις που χρησιμοποιούν το API ή web services του 1.11.x πρέπει να ενημερωθούν για να χρησιμοποιούν το REST-only API του 2.x χρησιμοποιώντας το [API Platform](https://github.com/api-platform/api-platform). |

## Ενημέρωση Chamilo 2.0.x

Οι μικρές ενημερώσεις εντός του κλάδου 2.0 είναι πιο απλές.

### Διαδικασία Ενημέρωσης

#### Χρησιμοποιώντας πακέτο

1. **Κάντε αντιγραφή ασφαλείας** στη βάση δεδομένων και τα αρχεία.
2. **Κατεβάστε την τελευταία έκδοση 2.0.x** από το [chamilo.org](https://chamilo.org/download):
3. **Εξαγάγετε τοπικά**

Παράδειγμα (προσαρμόστε στην κατεβασμένη έκδοση)

```bash
unzip chamilo-2.0.1.zip
```

4. **Αντιγράψτε τα αρχεία στην υπάρχουσα εγκατάσταση Chamilo σας**

   ```bash
   cp -r chamilo/* [your-chamilo-installation-path]/
   cp -r chamilo/.* [your-chamilo-installation-path]/
   ```
5. **Εκτελέστε μεταφορές βάσης δεδομένων:**

   ```bash
   php bin/console doctrine:migrations:migrate --no-interaction
   ```
6. **Καθαρίστε την cache:**

   ```bash
   php bin/console cache:clear --env=prod
   php bin/console cache:warmup --env=prod
   ```
7. **Αλλάξτε δικαιώματα**

Προσαρμόστε στον χρήστη του web server σας:

```bash
sudo chown -R www-data: [your-chamilo-installation-path]/var
```

8. **Επαληθεύστε** ότι η πλατφόρμα φορτώνει σωστά και ελέγξτε βασικές λειτουργίες.

#### Χρησιμοποιώντας Git

Αν εγκαταστήσατε το Chamilo χρησιμοποιώντας Git, μπορείτε να ακολουθήσετε αυτές τις οδηγίες.

1. **Κάντε αντιγραφή ασφαλείας** στη βάση δεδομένων και τα αρχεία.
2. **Τραβήξτε τον τελευταίο κώδικα** (ή κατεβάστε τη νέα έκδοση):

   ```bash
   git pull origin 2.0
   ```
3. **Ενημερώστε εξαρτήσεις PHP:**

   ```bash
   composer install --no-dev --optimize-autoloader
   ```
4. **Ενημερώστε εξαρτήσεις JavaScript και ξαναχτίστε assets:**

   ```bash
   yarn install && yarn build
   ```
5. **Εκτελέστε μεταφορές βάσης δεδομένων:**

   ```bash
   php bin/console doctrine:migrations:migrate --no-interaction
   ```
6. **Καθαρίστε την cache:**

   ```bash
   php bin/console cache:clear --env=prod
   php bin/console cache:warmup --env=prod
   ```
7. **Αλλάξτε δικαιώματα**

Προσαρμόστε στον χρήστη του web server σας:

```bash
sudo chown -R www-data: [your-chamilo-installation-path]/var
```

8. **Επαληθεύστε** ότι η πλατφόρμα φορτώνει σωστά και ελέγξτε βασικές λειτουργίες.

### Αυτοματοποίηση Ενημερώσεων

Για οργανισμούς που διαχειρίζονται πολλαπλές περιπτώσεις Chamilo, εξετάστε τη δημιουργία script για τη διαδικασία ενημέρωσης:

```bash
#!/bin/bash
set -e

# Pull code
git pull origin 2.0

# Dependencies
composer install --no-dev --optimize-autoloader
yarn install && yarn build

# Database
php bin/console doctrine:migrations:migrate --no-interaction

# Cache
php bin/console cache:clear --env=prod
php bin/console cache:warmup --env=prod

echo "Update complete."
```

***

## Συμβουλές

* **Πάντα να δημιουργείτε αντιγράφων ασφαλείας πριν την αναβάθμιση.** Οι μεταφορές βάσης δεδομένων δεν είναι αναστρέψιμες μέσω της διεπαφής του Chamilo.
* **Δοκιμάστε πρώτα σε περιβάλλον staging** -- ιδιαίτερα για τη μετεγκατάσταση από 1.11.x σε 2.0, η οποία περιλαμβάνει σημαντική μετατροπή δεδομένων.
* **Προγραμματίστε τις αναβαθμίσεις κατά τα παράθυρα συντήρησης** όταν οι χρήστες δεν χρησιμοποιούν ενεργά την πλατφόρμα.
* **Εγγραφείτε στις εκδόσεις του GitHub** στο [Github](https://github.com/chamilo/chamilo-lms/releases) χρησιμοποιώντας το εικονίδιο καμπάνας για να ενημερώνεστε για νέες εκδόσεις και επιδιορθώσεις ασφαλείας.
* **Οι ενημερώσεις μέσω ιστού** δεν παρέχονται ακόμη στο Chamilo 2.0, αλλά πρόκειται για ένα συνεχιζόμενο έργο που ελπίζουμε να κυκλοφορήσουμε σύντομα.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.chamilo.org/2.x-el/odigos-diaxeirisis/admin-guide/installation/upgrading.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
