Esta es una guía de cómo instalar Drupal 10 (o superior) en el hosting Opalstack.
Pre requisitos:
– Debemos tener instalado composer en nuestro entorno de Opalstack. Para hacerlo seguir esta guía.
– Tener una base de datos creada o crear una siguiendo esta guía.
– Tener una aplicación creada o crear una siguiendo esta guía.
Instalar Drupal 10 en Opalstack
En mi caso tengo el proyecto en Gitea, por lo que voy a clonarlo simplemente.
git clone https://yourgiteaurl.org/drupal.git /home/user/apps/ testing-site/
Ingresamos a nuestra carpeta y vemos los archivos y directorios que tenemos:
composer.json database.sql.gz web/ composer.lock README.md vendor/
Luego debemos acceder a nuestro directorio y usar composer para instalar las librerías requeridas por Drupal. En Opalstack por defecto la CLI de PHP utiliza la versión 7.3 por lo que para que Drupal 10 funcione, vamos a tener que utilizar la versión 8.3 de PHP cuando usemos composer.
cd testing-site/
php83 ~/bin/composer install
Una vez instaladas las librerías necesarias vamos a crear el archivo .htaccess y situarlo en la raíz de nuestro repositorio, en el mismo lugar donde se encuentra composer.json y composer.lock el archivo debe tener la siguiente información:
RewriteEngine on RewriteRule ^(.*)$ /web/$1 [L]
Esto nos sirve para poder decirle que nuestra aplicación funciona en la carpeta /web y que todas las requests van ir hacia esa carpeta.
Ahora voy a instalar adminer para poder instalar mi base de datos. Para eso simplemente tenemos que descargar el archivo de adminer y ponerlo en /web y luego accediendo con nuestro navegador de la siguiente forma:
https://misitio.com/adminer-5.2.0.php
Vamos a ir a Import -> elegimos File Upload o From server elegimos el archivo sql y le damos a Execute. Listo, luego de unos segundos debería de estar funcionando todo! Podemos acceder a nuestro sitio yendo a https://misitio.com
**En caso de error de directorios podemos probar agregar estas líneas de código en nuestro archivo settings.php
if (isset($GLOBALS['request']) and '/web/index.php' === $GLOBALS['request']->server->get('SCRIPT_NAME')) { $GLOBALS['request']->server->set('SCRIPT_NAME', '/index.php'); }
Instalar drush en Opalstack
# Para ejecutar drush primero debemos requerirlo e instalarlo con composer en caso de no tenerlo: php83 ~/bin/composer require drush/drush # Para poder correr drush simplemente debemos ejecutarlo con php83 y desde la carpeta vendor. php83 ./vendor/drush/drush/drush.php cr # Si queremos podemos crear un alias de manera que sea más sencillo correrlo alias drush83='php83 ./vendor/drush/drush/drush.php' # Borramos caché usando el alias creado anteriormente 'drush83' drush83 cr