Αποστολέας Θέμα: Ηλεκτρονικό Πρωτόκολλο Σχολείου  (Αναγνώστηκε 36740 φορές)

Γεώργιος Θεοδώρου

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 143
    • Διαχείριση απουσιών
Απ: Το Ηλεκτρονικό Πρωτόκολλο Σχολείου στο webhost.sch.gr
« Απάντηση #165 στις: 14 Σεπ 2020, 07:01:05 πμ »
Τρελαθήκαμε!!!

Σας παραθέτω δύο εικόνες από δύο server

φωτο1 webhost3 (Πάτρα)
φωτο2 webhost4 (Κιλκίς)

Είναι οι ρυθμίσεις php

Προσέξτε τις disable_functions

Στον webhost3 μόνο opcache_get_status
Στον webhost4 "ουκ ολίγες"


Μαντέψτε

Στο Κιλκίς δεν δουλεύει !!!!!!!!!!!!!!!!


ΤΟ ΠΣΔ ΑΝΤΑΠΟΚΡΙΘΗΚΕ ΚΑΙ ΑΛΛΑΞΑΝ ΟΙ ΡΥΘΜΙΣΕΙΣ ΣΤΟΝ WEBHOST4

Σύμφωνα με το email συναδέλφου:

... το ΠΣΔ ικανοποίησε το αίτημά μου την Παρασκευή 11/9 και ενεργοποίησε τις disabled php functions


Συμπέρασμα: Στο Κιλκίς ΔΟΥΛΕΥΕΙ

Γιάννης Γαϊδαρτζής

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 117
Απ: Ηλεκτρονικό Πρωτόκολλο Σχολείου
« Απάντηση #166 στις: 16 Σεπ 2020, 03:08:56 μμ »
Καλησπέρα,

Έχω εγκαταστήσει ubuntu server 20,04. Μπορώ να εγκαταστήσω την εφαρμογή ή θα έχω θέματα;
 
Πρώην ΚΕΠΛΗΝΕΤ

Γιάννης Γαϊδαρτζής

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 117
Απ: Ηλεκτρονικό Πρωτόκολλο Σχολείου
« Απάντηση #167 στις: 17 Σεπ 2020, 10:45:41 πμ »
Καλημέρα,
Τελικά αποφάσισα να εγκαταστήσω το Ηλ. πρωτόκολλο σε ubuntu server 20,04. Όταν εκτελώ την εντολή:

composer install

επιστρέφει τα παρακάτω σφάλματα. Έχω ενεργοποιήσει τα extensions imap, mbstring στο php.ini. Πρέπει να ελέγξω όλα τα ini αρχεία;
 
PHP Warning:  PHP Startup: Unable to load dynamic library 'imap' (tried: /usr/lib/php/20170718/imap (/usr/lib/php/20170718/imap: cannot open shared object file: No such file or directory), /usr/lib/php/20170718/imap.so (/usr/lib/php/20170718/imap.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'mbstring' (tried: /usr/lib/php/20170718/mbstring (/usr/lib/php/20170718/mbstring: cannot open shared object file: No such file or directory), /usr/lib/php/20170718/mbstring.so (/usr/lib/php/20170718/mbstring.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Installation request for erusev/parsedown 1.7.3 -> satisfiable by erusev/parsedown[1.7.3].
    - erusev/parsedown 1.7.3 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
  Problem 2
    - Installation request for laravel/framework v5.8.10 -> satisfiable by laravel/framework[v5.8.10].
    - laravel/framework v5.8.10 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
  Problem 3
    - Installation request for webklex/laravel-imap 1.4.1 -> satisfiable by webklex/laravel-imap[1.4.1].
    - webklex/laravel-imap 1.4.1 requires ext-imap * -> the requested PHP extension imap is missing from your system.
  Problem 4
    - Installation request for phar-io/manifest 1.0.3 -> satisfiable by phar-io/manifest[1.0.3].
    - phar-io/manifest 1.0.3 requires ext-dom * -> the requested PHP extension dom is missing from your system.
  Problem 5
    - Installation request for phpunit/php-code-coverage 6.1.4 -> satisfiable by phpunit/php-code-coverage[6.1.4].
    - phpunit/php-code-coverage 6.1.4 requires ext-dom * -> the requested PHP extension dom is missing from your system.
  Problem 6
    - Installation request for phpunit/phpunit 7.5.8 -> satisfiable by phpunit/phpunit[7.5.8].
    - phpunit/phpunit 7.5.8 requires ext-dom * -> the requested PHP extension dom is missing from your system.
  Problem 7
    - Installation request for theseer/tokenizer 1.1.2 -> satisfiable by theseer/tokenizer[1.1.2].
    - theseer/tokenizer 1.1.2 requires ext-dom * -> the requested PHP extension dom is missing from your system.
  Problem 8
    - laravel/framework v5.8.10 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
    - beyondcode/laravel-dump-server 1.2.2 requires illuminate/console 5.6.*|5.7.*|5.8.* -> satisfiable by laravel/framework[v5.8.10].
    - Installation request for beyondcode/laravel-dump-server 1.2.2 -> satisfiable by beyondcode/laravel-dump-server[1.2.2].

  To enable extensions, verify that they are enabled in your .ini files:
    - /etc/php/7.2/cli/php.ini
    - /etc/php/7.2/cli/conf.d/10-opcache.ini
    - /etc/php/7.2/cli/conf.d/10-pdo.ini
    - /etc/php/7.2/cli/conf.d/20-calendar.ini
    - /etc/php/7.2/cli/conf.d/20-ctype.ini
    - /etc/php/7.2/cli/conf.d/20-exif.ini
    - /etc/php/7.2/cli/conf.d/20-fileinfo.ini
    - /etc/php/7.2/cli/conf.d/20-ftp.ini
    - /etc/php/7.2/cli/conf.d/20-gettext.ini
    - /etc/php/7.2/cli/conf.d/20-iconv.ini
    - /etc/php/7.2/cli/conf.d/20-json.ini
    - /etc/php/7.2/cli/conf.d/20-phar.ini
    - /etc/php/7.2/cli/conf.d/20-posix.ini
    - /etc/php/7.2/cli/conf.d/20-readline.ini
    - /etc/php/7.2/cli/conf.d/20-shmop.ini
    - /etc/php/7.2/cli/conf.d/20-sockets.ini
    - /etc/php/7.2/cli/conf.d/20-sysvmsg.ini
    - /etc/php/7.2/cli/conf.d/20-sysvsem.ini
    - /etc/php/7.2/cli/conf.d/20-sysvshm.ini
    - /etc/php/7.2/cli/conf.d/20-tokenizer.ini
  You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.
Πρώην ΚΕΠΛΗΝΕΤ

Γεώργιος Θεοδώρου

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 143
    • Διαχείριση απουσιών
Απ: Ηλεκτρονικό Πρωτόκολλο Σχολείου
« Απάντηση #168 στις: 17 Σεπ 2020, 05:45:30 μμ »
Απ ότι φαινεται πρέπει να εγκαταστήσεις

το php-imap

https://www.ubuntuupdates.org/package/core/focal/universe/base/php-imap

και το php-mbstring

https://www.ubuntuupdates.org/package/core/focal/universe/base/php-mbstring



Ένα googlάρισμα "install laravel in ubuntu 20.04" μου έδωσε την παρακάτω ιστοσελίδα

https://tecadmin.net/install-laravel-ubuntu-20-04/

όπου συνιστά


Install PHP

sudo apt install zip unzip software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt install -y php7.4 php7.4-gd php7.4-mbstring php7.4-xml php-zip


προφανώς σε αυτά θα πρέπει να προστεθεί και php7.4-imap

https://packages.ubuntu.com/focal-updates/php7.4-imap
« Τελευταία τροποποίηση: 18 Σεπ 2020, 08:34:09 πμ από Γεώργιος Θεοδώρου »

Γιάννης Γαϊδαρτζής

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 117
Απ: Ηλεκτρονικό Πρωτόκολλο Σχολείου
« Απάντηση #169 στις: 18 Σεπ 2020, 09:23:47 πμ »
Ευχαριστώ Γιώργο,

Λειτουργεί!
Πρώην ΚΕΠΛΗΝΕΤ

Δημήτρης Γκίνης

  • ΠΛΗΝΕΤ
  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 565
Απ: Ηλεκτρονικό Πρωτόκολλο Σχολείου
« Απάντηση #170 στις: 19 Νοε 2020, 12:13:56 μμ »
Γιώργο καλημέρα.

Εγκατάσταση σε  windows 10 vm  με χρήση xampp, βάση=mysql->

Έχω την εξής παρατήρηση: αν μετά την εγκατάσταση και αυτόματη δημιουργία των κατάλληλων πινάκων στη βάση protocol, δημιουργήσεις νέο χρήστη που να έχει δικαιώματα μόνο σε αυτή τη βάση (για λόγους ασφαλείας) ή ακόμη και αν αλλάξεις το password για τον root (κενό κατά την εγκατάσταση) η εφαρμογή δεν σηκώνεται (εννοείται ότι έχεις αλλάξει τις σχετικές εγγραφές στα \protocol\.env και  \protocol\config\database.php). Από την άλλη αν αλλάξεις πχ το password για τον root πριν την αυτόματη δημιουργία των tables στη βάση, η διαδικασία δεν ολοκληρώνεται (acess denied).

Το παραπάνω θεωρώ ότι ενέχει κινδύνους, το να μη σε αφήνει δηλαδή να αλλάξεις χρήστη στη βάση ή να αλλάξεις pawword στον root.
Μπορεί να αλλάξει ??

Γεώργιος Θεοδώρου

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 143
    • Διαχείριση απουσιών
Απ: Ηλεκτρονικό Πρωτόκολλο Σχολείου
« Απάντηση #171 στις: 19 Νοε 2020, 03:18:25 μμ »
Νομίζω ότι πρέπει να καθαρίσεις την config:cache ώστε να δει τις νέες ρυθμίσεις

https://stillat.com/blog/2016/12/07/laravel-artisan-config-command-the-clear-command

Με την προυπόθεση  (είμαι σίγουρος ότι το έχεις ήδη κάνει) ότι έχει ρυθμιστεί ο χρήστης της mysql και του έχουν δοθεί τα προνόμια.

Αν έχεις τρέξει php artisan optimize έχουν δημιουργηθεί αρχεία config από τα οποία διαβάζονται οι ρυθμίσεις.

Δημήτρης Γκίνης

  • ΠΛΗΝΕΤ
  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 565
Απ: Ηλεκτρονικό Πρωτόκολλο Σχολείου
« Απάντηση #172 στις: 19 Νοε 2020, 10:00:52 μμ »
Αν έχεις τρέξει php artisan optimize έχουν δημιουργηθεί αρχεία config από τα οποία διαβάζονται οι ρυθμίσεις.
Αυτό δεν περιλαμβάνεται στις οδηγίες. Πότε το τρέχεις;
Τι θέλω:
1) Να άλλάξω το password του root (κενό αρχικά)
2) Η εφαρμογή να χρησιμοποιεί άλλον λογαριασμό για πρόσβαση στη βάση protocol (πχ protocol_user με δικαιώματα μόνο στην protocol)
Με βάση τα παραπάνω, σε που και τι πρέπει να αλλάξω στην διαδικασία εγκατάστασης;
Thanks...

Γεώργιος Θεοδώρου

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 143
    • Διαχείριση απουσιών
Απ: Ηλεκτρονικό Πρωτόκολλο Σχολείου
« Απάντηση #173 στις: 20 Νοε 2020, 07:30:26 πμ »
Καλημέρα

Το Ηλ. Πρωτόκολλο χρησιμοποιεί το framework Laravel


Για τη δημιουργία και την παροχή δικαωμάτων σε mysql user μετά από googlάρισμα βρήκα αυτά.

ΑΦΟΡΟΥΝ Xampp

https://stackoverflow.com/questions/5986635/create-a-new-mysql-user-in-xampp

https://chartio.com/resources/tutorials/how-to-grant-all-privileges-on-a-database-in-mysql/#database-specific-privileges

Laravel

Αλλάζεις και τις ρυθμίσεις στο Laravel ( .env, /app/config/database.php)

καθαρίζεις τυχόν cache

Και λογικά πρέπει να τρέχει.


Είναι ζήτημα xampp - mysql - laravel


Δημήτρης Γκίνης

  • ΠΛΗΝΕΤ
  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 565
Απ: Ηλεκτρονικό Πρωτόκολλο Σχολείου
« Απάντηση #174 στις: 21 Νοε 2020, 09:55:43 μμ »
Καλησπέρα και πάλι.

Στη mysql, για τη δημιουργία χρήστη (pr0t0c0l_us3r') στη βάση , την απόδοση δικαιωμάτων για αυτόν τον χρήστη στη βάση αλλά και την αλλαγή του password για τον root δεν τίθεται θέμα.

Αλλά τρέχοντας
Κώδικας: [Επιλογή]
php artisan migrate:refresh --seed
μου επιστρέφει:

Κώδικας: [Επιλογή]
   Illuminate\Database\QueryException  : SQLSTATE[HY000] [1045] Access denied for user 'pr0t0c0l_us3r'@'localhost' (using password: YES) (SQL: select * from information_schema.tables where table_schema = protocol and table_name = migrations and table_type = 'BASE TABLE')

  at C:\protocol\vendor\laravel\framework\src\Illuminate\Database\Connection.php:664
    660|         // If an exception occurs when attempting to run a query, we'll format the error
    661|         // message to include the bindings with SQL, which will make this exception a
    662|         // lot more helpful to the developer instead of just the database's errors.
    663|         catch (Exception $e) {
  > 664|             throw new QueryException(
    665|                 $query, $this->prepareBindings($bindings), $e
    666|             );
    667|         }
    668|

  Exception trace:

  1   Doctrine\DBAL\Driver\PDOException::("SQLSTATE[HY000] [1045] Access denied for user 'pr0t0c0l_us3r'@'localhost' (using password: YES)")
      C:\protocol\vendor\doctrine\dbal\lib\Doctrine\DBAL\Driver\PDOConnection.php:31

  2   PDOException::("SQLSTATE[HY000] [1045] Access denied for user 'pr0t0c0l_us3r'@'localhost' (using password: YES)")
      C:\protocol\vendor\doctrine\dbal\lib\Doctrine\DBAL\Driver\PDOConnection.php:27

Έδωσα και
Κώδικας: [Επιλογή]
composer clearcache
, αλλά τα ίδια.

Κάνω κάτι λάθος;

Update: κατσε, γιατί κάτι δεν πάει καλά με τα windows , παραπειραξα ίσως τη registry γιατί σερνόταν το vm και μάλλον χάλασα κάτι (,πχ βγαίνει μήνυμα λάθους όταν προσπαθώ να δώσω από command prompt mysql). Άι σιχτήρ με δαυτα
« Τελευταία τροποποίηση: 22 Νοε 2020, 12:10:26 πμ από Δημήτρης Γκίνης »

Γεώργιος Θεοδώρου

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 143
    • Διαχείριση απουσιών
Απ: Ηλεκτρονικό Πρωτόκολλο Σχολείου
« Απάντηση #175 στις: 22 Νοε 2020, 09:40:25 πμ »
Αγασπητέ Δημήτρη

στο δικό μου σύστημα Archlinux

  • Δημιούργησα μια νέα ΒΔ "protocoltest" με τον phpMyAdmin (φωτ 1)
  • Με το terminal έφτιαξα τον χρήστη "pr0t0col_us3r" και του παραχώρησα προνόμια στη ΒΔ "protocoltest" (φωτ 2)
  • Τροποποίησα το αρχείο ".env" (φωτ 3)
  • Από τον φάκελο του Ηλ.Πρωτοκόλλου έφτιαξα τους πίνακες στη ΒΔ (φωτ 4)


Δεν χρειάστηκε να καθαρίσω cache.
Αν χρειαστεί την καθαριζεις με: php artisan config:clear

εντολές php artisan
  config:cache        Create a cache file for faster configuration loading
  config:clear         Remove the configuration cache file

Για να γεμίσει πλήρως η ΒΔ (table keepvalues) πρέπει να τρέξουμε και:
php artisan db:seed --class=KeepvaluesTableSeeder

Στη διάθεσή σου όποτε θέλεις και τηλεφωνικά ...

ΥΣΤΕΡΟΓΡΑΦΟ: Τι τα θέλεις τα windows; ... !!!
« Τελευταία τροποποίηση: 22 Νοε 2020, 09:58:39 πμ από Γεώργιος Θεοδώρου »

Δημήτρης Γκίνης

  • ΠΛΗΝΕΤ
  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 565
Απ: Ηλεκτρονικό Πρωτόκολλο Σχολείου
« Απάντηση #176 στις: 22 Νοε 2020, 10:09:25 πμ »
Εγώ έχω αναλάβει την αρχική εγκατάσταση 2 συστημάτων πρωτοκόλλου (και την μετάπτωση των δεδομένων από παλιά εφαρμογή που χρησιμοποιείται) προκειμένου να αξιολογηθούν.
Από εκεί και πέρα τη συντήρηση θα την αναλάβει άλλος που θέλει windows, οπότε έχω στήσει 2 VM σε ubuntu host.

Δημήτρης Γκίνης

  • ΠΛΗΝΕΤ
  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 565
Απ: Ηλεκτρονικό Πρωτόκολλο Σχολείου
« Απάντηση #177 στις: 22 Νοε 2020, 12:52:09 μμ »
Το ξανακάνω από την αρχή.
Στο config/database.php, στη γραμμή 49 δεν θα πρέπει να αλλάξει ο χρήστης από root σε πχ protocol_user? Αντίστοιχα στη γραμμή 50 το password του protocol_user, σωστά?
Στις οδηγίες αναφέρεις αλλαγές μόνο στις γραμμές 48 και 50

Γεώργιος Θεοδώρου

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 143
    • Διαχείριση απουσιών
Απ: Ηλεκτρονικό Πρωτόκολλο Σχολείου
« Απάντηση #178 στις: 22 Νοε 2020, 01:26:16 μμ »
Πολύ σωστά.
Πρέπει να αλλάξει ο χρήστης "root" στον νέο χρήστη "pr0t0c0l_us3r"


Οι οδηγίες συντάχθηκαν με βάση τις ελάχιστες αλλαγές που πρέπει να γίνουν για να δουλέψει το Ηλ.Πρ. σε συνάρτηση βεβαίως με τα προτεινόμενα πιο πάνω (πχ. ότι ο χρήστης θα είναι ο "root").

Τώρα το αρχείο config/database.php

με τον κώδικα: 'username' => env('DB_USERNAME', 'root'),
αν βρεί στο αρχείο .env την μεταβλητή 'DB_USERNAME' <> '' τη χρησιμοποιεί
αλλιώς τη default value = "root"
Αυτός είναι ο σχεδιασμός του framework Laravel


Δημήτρης Γκίνης

  • ΠΛΗΝΕΤ
  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 565
Απ: Ηλεκτρονικό Πρωτόκολλο Σχολείου
« Απάντηση #179 στις: 22 Νοε 2020, 03:08:43 μμ »
Λοιπόν, το ξανάστησα από την αρχή αλλά και πάλι το ίδιο πρόβλημα εμφανίστηκε.
Κώδικας: [Επιλογή]
php artisan migrate:refresh --seedεμφανίζεται το ίδιο μήνυμα λάθους
Κώδικας: [Επιλογή]
Illuminate\Database\QueryException  : SQLSTATE[HY000] [1045] Access denied for user 'pr0t0c0l_us3r'@'localhost' (using password: YES) (SQL: select * from information_schema.tables where table_schema = protocol and table_name = migrations and table_type = 'BASE TABLE')

  at C:\protocol\vendor\laravel\framework\src\Illuminate\Database\Connection.php:664
    660|         // If an exception occurs when attempting to run a query, we'll format the error
    661|         // message to include the bindings with SQL, which will make this exception a
    662|         // lot more helpful to the developer instead of just the database's errors.
    663|         catch (Exception $e) {
  > 664|             throw new QueryException(
    665|                 $query, $this->prepareBindings($bindings), $e
    666|             );
    667|         }
    668|

  Exception trace:

  1   Doctrine\DBAL\Driver\PDOException::("SQLSTATE[HY000] [1045] Access denied for user 'pr0t0c0l_us3r'@'localhost' (using password: YES)")
      C:\protocol\vendor\doctrine\dbal\lib\Doctrine\DBAL\Driver\PDOConnection.php:31

  2   PDOException::("SQLSTATE[HY000] [1045] Access denied for user 'pr0t0c0l_us3r'@'

Από command prompt, αν συνδεθείς στη βάση ως pr0t0c0l_us3r και δώσεις
Κώδικας: [Επιλογή]
select * from information_schema.tables where table_schema = protocol and table_name = migrations and table_type = 'BASE TABLE' (η οποία αποτυχία πιο πάνω με Access Denied) δουλεύει, άρα η βάση είναι ΟΚ.

Μήπως υπάρχει κάποιο άλλο αρχείο το οποίο αλλαγή στις παραμέτρους του;