Drupal: Difference between revisions

From Alpine Linux
(add composer dependencies)
 
(18 intermediate revisions by 6 users not shown)
Line 1: Line 1:
== What is drupal? ==
[https://drupal.org/ Drupal] is a free and open source content management system (CMS) written in PHP and distributed under the GNU General Public License. It is used as a back-end system for at least 1% of all websites worldwide ranging from personal blogs to larger corporate and political sites including whitehouse.gov and data.gov.uk. It is also used for knowledge management and business collaboration.
 
Drupal is a free and open source content management system (CMS) written in PHP and distributed under the GNU General Public License. It is used as a back-end system for at least 1% of all websites worldwide ranging from personal blogs to larger corporate and political sites including whitehouse.gov and data.gov.uk. It is also used for knowledge management and business collaboration.
 
== Set up drupal on Alpine Linux ==
 
This document will be a quick c/p guide to setup Drupal on Alpine linux. What we will setup is the following:
 
* Lighttpd with PHP
* Mysql
* drupal


== Install lighttpd, PHP and MySql ==
== Install lighttpd, PHP and MySql ==


apk add lighttpd mysql mysql-client php-mysql php-mysqli php php-sqlite php-imap php-xml php-pdo php-json php-xml php-gd php-pdo_mysql
{{:Setting Up Lighttpd With FastCGI}}


== Configuring Lighttpd==
Install extra packages:
{{Cmd|apk add mysql mysql-client php-mysql php-mysqli php-pdo_mysql php-session php-tokenizer php-simplexml php-xml php-gd php-dom php-opcache php-mbstring composer}}


'''Edit lighttpd.conf'''
{{note|The <code>php-mbstring</code> and <code>php-opcache</code> packages are optional. If they are not installed, the Drupal installer will show a warning.}}


nano +46 /etc/lighttpd/lighttpd.conf
== Installing and configuring drupal ==


Uncomment lines:
Create a folder named {{Path|webapps}}


uncoment    include "mod_fastcgi.conf", save and exit
{{Cmd|mkdir -p /usr/share/webapps/}}


== Installing and configuring drupal ==
Download the source code archive


'''Install drupal'''
{{Cmd|cd /usr/share/webapps/
wget https://ftp.drupal.org/files/projects/drupal-11.3.0-beta1.tar.gz}}


Download
{{tip|You can view the file names at https://ftp.drupal.org/files/projects/}}


cd /tmp
Unpack the archive and delete the tarball afterwards
wget http://ftp.drupal.org/files/projects/drupal-7.0-alpha6.tar.gz


Unpack
{{Cmd|tar zxvf drupal-11.3.0-beta1.tar.gz
rm drupal-11.3.0-beta1.tar.gz}}
Change the folder name


tar zxvf drupal-7.0-alpha6.tar.gz
{{Cmd|mv drupal-11.3.0-beta1 drupal}}


Change Folder Name
Change the folder permissions


mv drupal-7.0-alpha6 drupal
{{Cmd|chown -R lighttpd /usr/share/webapps/}}
mv drupal /etc/


Creating settings file
Creating settings file


cp  /etc/drupal/sites/default/default.settings.php /etc/drupal/sites/default/settings.php
{{Cmd|cp  /usr/share/webapps/drupal/sites/default/default.settings.php /usr/share/webapps/drupal/sites/default/settings.php}}


Change Folder Persmissions
To [https://www.drupal.org/docs/getting-started/installing-drupal/install-dependencies-with-composer Install dependencies with Composer], navigate to the Drupal root directory and run Composer.


  chmod -R 777 /etc/drupal/
{{Cmd|cd /usr/share/webapps/drupal/
composer install --no-dev}}


Make Symlink to the drupal folder
Create a symlink to the {{Path|drupal}} folder


  ln -s /etc/drupal/ /var/www/localhost/htdocs/drupal
{{Cmd|ln -s /usr/share/webapps/drupal/ /var/www/localhost/htdocs/drupal}}


== Starting ==
== Starting ==
Line 59: Line 53:
'''Starting http service and adding to boot'''
'''Starting http service and adding to boot'''


  /etc/init.d/lighttpd start && rc-update add lighttpd default
{{Cmd|rc-service lighttpd start && rc-update add lighttpd default}}




== Config MySql ==
== Config MySql ==


/usr/bin/mysql_install_db --user=mysql
{{Cmd|<nowiki>/usr/bin/mysql_install_db --user=mysql</nowiki>}}
/etc/init.d/mysql start && rc-update add mysql default
 
/usr/bin/mysqladmin -u root password 'password'
{{note|<code>/usr/bin/mysql_install_db</code>: Deprecated program name. It will be removed in a future release, use <code>mariadb-install-db</code> instead}}
 
{{cmd|<nowiki>rc-service mariadb start && rc-update add mariadb default
/usr/bin/mysqladmin -u root password 'password'</nowiki>}}
 
 


'''Create the drupal database'''
'''Create the drupal database'''


mysql -u root -p
{{Cmd|mysql -u root -p}}
{{note|<code>mysql</code>: Deprecated program name. It will be removed in a future release, use <code>/usr/bin/mariadb</code> instead}}
 
{{Cmd|CREATE DATABASE drupal;
GRANT ALL PRIVILEGES ON drupal.* TO "root";
FLUSH PRIVILEGES;
EXIT}}


CREATE DATABASE drupal;
GRANT ALL PRIVILEGES ON drupal.* TO "root";
FLUSH PRIVILEGES;
EXIT
 
== Config your drupal ==
== Config your drupal ==


Browse to: http://WEBSERVER_IP_ADDRESS/drupal and Install Drupal completing the information as appropriate from the web browser.
Browse to: <nowiki>http://WEBSERVER_IP_ADDRESS/drupal</nowiki> and Install Drupal completing the information as appropriate from the web browser.


Drupal Installation steps:
Drupal Installation steps:


Note: After select each option, pres "Save and continue" button.
Note: After select each option, pres "Save and continue" button.


1 - Select an installation profile
1 - Select an installation profile
Line 101: Line 100:


4 - Set up database
4 - Set up database
Database type MySQL
Database type MySQL


* Database name ''drupal''
* Database name ''drupal''
* Database username ''root''
* Database username ''root''
* Database password ''your-mysql-password''
* Database password ''your-mysql-password''


Line 113: Line 109:


* SITE INFORMATION
* SITE INFORMATION
 
:* Site name  
* Site name  
:* Site e-mail address
* Site e-mail address


* SITE MAINTENANCE ACCOUNT
* SITE MAINTENANCE ACCOUNT
 
:* Username
* Username
:* E-mail address
* E-mail address
:* Password
* Password
:* Confirm password
* Confirm password


* SERVER SETTINGS
* SERVER SETTINGS
 
:* Default country
* Default country
:* Default time zone
* Default time zone


* UPDATE NOTIFICATIONS
* UPDATE NOTIFICATIONS
 
:* Check for updates automatically
* Check for updates automatically
:* Receive e-mail notifications
* Receive e-mail notifications


After click on "Save and continue" you will see ''Drupal installation complete''
After click on "Save and continue" you will see ''Drupal installation complete''
Line 139: Line 131:


Review the messages above before visiting your '''new site'''.
Review the messages above before visiting your '''new site'''.


Review the messages above before visiting your new site.
Review the messages above before visiting your new site.
You have drupal cloud computing system working, to access go to http://WEBSERVER_IP_ADDRESS/drupal and enjoy!
You have drupal cloud computing system working, to access go to <nowiki>http://WEBSERVER_IP_ADDRESS/drupal</nowiki> and enjoy!

Latest revision as of 15:49, 5 December 2025

Drupal is a free and open source content management system (CMS) written in PHP and distributed under the GNU General Public License. It is used as a back-end system for at least 1% of all websites worldwide ranging from personal blogs to larger corporate and political sites including whitehouse.gov and data.gov.uk. It is also used for knowledge management and business collaboration.

Install lighttpd, PHP and MySql

Basic Installation

For installing the additional packages first activate community packages and update the package index

Install the required packages:

# apk add lighttpd php fcgi php-cgi

Configure Lighttpd

Edit lighttpd.conf (/etc/lighttpd/lighttpd.conf) and uncomment the line:

Contents of /etc/lighttpd/lighttpd.conf

... include "mod_fastcgi.conf" ...

Start lighttpd service and add it to default runlevel

# rc-service lighttpd start # rc-update add lighttpd default

Install extra packages:

apk add mysql mysql-client php-mysql php-mysqli php-pdo_mysql php-session php-tokenizer php-simplexml php-xml php-gd php-dom php-opcache php-mbstring composer

Note: The php-mbstring and php-opcache packages are optional. If they are not installed, the Drupal installer will show a warning.

Installing and configuring drupal

Create a folder named webapps

mkdir -p /usr/share/webapps/

Download the source code archive

cd /usr/share/webapps/ wget https://ftp.drupal.org/files/projects/drupal-11.3.0-beta1.tar.gz

Tip: You can view the file names at https://ftp.drupal.org/files/projects/

Unpack the archive and delete the tarball afterwards

tar zxvf drupal-11.3.0-beta1.tar.gz rm drupal-11.3.0-beta1.tar.gz

Change the folder name

mv drupal-11.3.0-beta1 drupal

Change the folder permissions

chown -R lighttpd /usr/share/webapps/

Creating settings file

cp /usr/share/webapps/drupal/sites/default/default.settings.php /usr/share/webapps/drupal/sites/default/settings.php

To Install dependencies with Composer, navigate to the Drupal root directory and run Composer.

cd /usr/share/webapps/drupal/ composer install --no-dev

Create a symlink to the drupal folder

ln -s /usr/share/webapps/drupal/ /var/www/localhost/htdocs/drupal

Starting

Starting http service and adding to boot

rc-service lighttpd start && rc-update add lighttpd default


Config MySql

/usr/bin/mysql_install_db --user=mysql

Note: /usr/bin/mysql_install_db: Deprecated program name. It will be removed in a future release, use mariadb-install-db instead

rc-service mariadb start && rc-update add mariadb default /usr/bin/mysqladmin -u root password 'password'


Create the drupal database

mysql -u root -p

Note: mysql: Deprecated program name. It will be removed in a future release, use /usr/bin/mariadb instead

CREATE DATABASE drupal; GRANT ALL PRIVILEGES ON drupal.* TO "root"; FLUSH PRIVILEGES; EXIT

Config your drupal

Browse to: http://WEBSERVER_IP_ADDRESS/drupal and Install Drupal completing the information as appropriate from the web browser.

Drupal Installation steps:

Note: After select each option, pres "Save and continue" button.

1 - Select an installation profile

  • Standard ( Install with commonly used features pre-configured.)
  • Minimal ( Start with only a few modules enabled.)

2 - Choose language

  • English (built-in)

3 - Verify requirements

  • (Nothing to do here if all is ok)

4 - Set up database Database type MySQL

  • Database name drupal
  • Database username root
  • Database password your-mysql-password

- 5 Configure site

  • SITE INFORMATION
  • Site name
  • Site e-mail address
  • SITE MAINTENANCE ACCOUNT
  • Username
  • E-mail address
  • Password
  • Confirm password
  • SERVER SETTINGS
  • Default country
  • Default time zone
  • UPDATE NOTIFICATIONS
  • Check for updates automatically
  • Receive e-mail notifications

After click on "Save and continue" you will see Drupal installation complete

Congratulations, you installed Drupal!

Review the messages above before visiting your new site.

Review the messages above before visiting your new site. You have drupal cloud computing system working, to access go to http://WEBSERVER_IP_ADDRESS/drupal and enjoy!