Le document suivant décrit des étapes générales afin de créer un sandbox basé sur git d’un journal de production qui n’est pas actuellement sur git. Il fournit des instructions sur la façon de limiter l’accès accidentel, les e-mails sortants, etc. Votre expérience peut être différente de la notre. Adaptez ce contenu à votre propre environnement; À utiliser à vos risques et périls.
Ce README: https://github.com/pkp/ojs a des instructions pour l’installation à partir de git. Voici les étapes à suivre:
Créer un utilisateur et une base de données MySQL ou PostgreSQL OJS. La commande que nous utilisons est la suivante; cela peut être différent pour vous en fonction de votre environnement, de l’accès à la root, etc.:
MySQL
mysql -u root -e "CREATE DATABASE `ojs-sandbox` DEFAULT CHARACTER SET UTF8; GRANT ALL ON `ojs-sandbox`.* TO `ojs`@localhost IDENTIFIED BY 'ojs'" -p
PostgreSQL
psql -h localhost -U postgres -d postgres -c "CREATE USER ojs WITH NOSUPERUSER INHERIT NOCREATEROLE NOCREATEDB NOREPLICATION NOBYPASSRLS ENCRYPTED PASSWORD 'ojs'; COMMENT ON ROLE ojs IS 'Site administrator';
CREATE DATABASE ojs-sandbox OWNER ojs;" -W
Extraire la branche stable de GitHub. Le chemin sera spécifique à votre installation Apache, et vous pouvez mettre à jour la branche avec la dernière branche stable:
cd <httpd-docs-folder>
BRANCH='stable-3_3_0'
git clone -b $BRANCH --depth 1 https://github.com/pkp/ojs.git ./
git branch --unset-upstream $BRANCH
chmod -R 755 *
Acquérir la bibliothèque PKP correspondante et extraire la branche stable à partir de GitHub, tout en vous assurant que la branche correspond à la même branche référencée ci-dessus:
git submodule update --init --recursive --depth 1
Installer le compositeur:
cd ../..
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'e0012edf3e80b6978849f5eff0d4b4e4c79ff1609dd1e613307e16318854d24ae64f26d17af3ef0bf7cfb710ca74755a') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
Installer les dépendances du compositeur:
cd lib/pkp
php ../../composer.phar --no-dev install
cd ../../plugins/paymethod/paypal
php ../../../composer.phar --no-dev install
cd ../../../plugins/generic/citationStyleLanguage
php ../../../composer.phar --no-dev install
Installer les dépendances de Node.js (REMARQUE: npm doit être installé sur le serveur):
cd ../../..
npm install
npm run build
Créer un nouveau fichier de configuration:
cd ../../..
cp config.TEMPLATE.inc.php config.inc.php
chmod 600 config.inc.php
À ce point, vous devriez avoir un système OJS 3 fonctionnel et une base de données prête à l’emploi.
Supprimer le plugiciel Acron (le plugiciel Acron peut déclencher l’exécution de tâches planifiées sans dépendre d’une tâche cron):
rm -rf plugins/generic/acron
rm -rf lib/pkp/plugins/generic/acron
Ce plugiciel devra être réinstallé après votre passage en production, ce que, si vous exécutez des tâches via git, vous pouvez faire avec ces commandes:
git checkout plugins/generic/acron
cd lib/pkp
git checkout plugins/generic/acron
Ces commandes sont exécutées durant l’installation de production, et sont vos commandes de sauvegarde/archivage typiques.
Base de données:
mysqldump db\_name --opt --default-character-set=utf8 --result-file=~/client\_db.sql -u db\_user -p
pg_dumpall -U postgres -h localhost -d postgres > ~/client_db.sql
Fichiers à soumettre: vous pouvez trouver le répertoire correct dans le fichier OJS config.inc.php, recherchez le paramètre «files_dir». Généralement, nous compressons ceci afin de faciliter le transfert:
cd <submission files dir>
tar -cvzf ~/files.tar.gz ./
Fichiers publics: cela peut inclure des éléments tel que des images de couverture et ainsi de suite, et se trouve dans le répertoire OJS system, dans le sous-répertoire «public /»:
cd <ojs-system-dir>/public
tar -cvzf ~/public.tar.gz ./
Transférer les fichiers sur le serveur intermédiaire: nous utilisons généralement scp
ou rsync
. Les gens qui se specialize dans votre type de système devraient savoir quoi utiliser ici, mais dans notre cas, c’est généralement quelque chose comme:
rsync -avz client\_db.sql username@stagingserver.org:/~
rsync -avz public.tar.gz username@stagingserver.org:/~
rsync -avz files.tar.gz username@stagingserver.org:/~
Installer la base de données (cela peut-être différent selon le nom d’utilisateur, le nom de la base de données et le mot de passe que vous avez spécifiés précédemment):
mysql -u ojs-sandbox -p ojs-sandbox < ~/client\_db.sql
psql -U postgres -h localhost -f ~/client_db.sql postgres
Installer les fichiers à soumettre:
tar -xvf ~/files.tar.gz <files directory>
Installer les fichiers publics:
tar xvf ~/public.tar.gz <ojs-folder>/public/
Modifier le fichier config.inc.php
et changer les paramètres de base de données et files_dir.
vi config.inc.php
À ce point, tous les fichiers et tables de base de données pertinents doivent être en place et le fichier de configuration doit pointer vers ces emplacements.
Si vous êtes entrain d’exécuter le sandbox sur son propre serveur, vous pouvez considérer la désactivation de toutes les fonctionnalités d’e-mails sur le serveur. Mais ce qui suit marchera aussi (cela veut dire que tous les e-mails envoyés seront envoyés à des adresses e-mail non productives).
Vous pouvez changer vos adresses e-mail pour une adresse Mailinator , cela signifie que les e-mails seront envoyés à une boîte de réception publique accessible (par exemple, username@mailinator.com), ou utiliser une adresse e-mail truquée. Vous pouvez également définir des e-mails en fonction de rôles d’utilisateurs spécifiques. Vous devez premièrement accéder à votre base de données:
mysql -u ojs -pojs ojs-sandbox
psql -h localhost -U ojs -d 'ojs-sandbox'
Afin de changer toutes les adresses e-mail pour username@mailinator.com:
UPDATE users SET email=CONCAT\(username,'@mailinator.com’\);
Pour définir tous les e-mails liés à la soumission, par exemple, ceux des contributeurs, à test@example.com:
UPDATE authors SET email = 'test@example.com’
Nous faisons cela pour tous les sandbox en ajoutant la protection .htaccess et .htpasswd à la root web du sandbox. Les gens qui se specialize dans votre type de système sauraient comment faire cela.
À partir de la Sandbox web root, exécuter la commande ci-dessous:
php tools/upgrade.php upgrade
À ce point, si la mise à niveau est complète, vous devriez avoir une mise à niveau de sandbox propre et protégée qui exécute OJS 3 et que vous pouvez gérer via git.