Skip to content

Commit 9667e68

Browse files
committed
AtoM 2.9 Updates
- Ubuntu 24.04 - PHP 8.3 - Elasticsearch 6.8
1 parent 2dbbaae commit 9667e68

File tree

20 files changed

+123
-151
lines changed

20 files changed

+123
-151
lines changed

admin-manual/customization/config-files.rst

+2-2
Original file line numberDiff line numberDiff line change
@@ -831,8 +831,8 @@ has its own configuration file that defines some important global PHP settings
831831
like timeouts, and environment variables that may also modify the way that
832832
AtoM works as documented in accesstomemory.org.
833833

834-
The file of the pool is located at ``/etc/php/7.4/fpm/pool.d/atom.conf``. Edit
835-
with ``nano``. Once saved, run: ``sudo systemctl restart php7.4-fpm``, and the
834+
The file of the pool is located at ``/etc/php/8.3/fpm/pool.d/atom.conf``. Edit
835+
with ``nano``. Once saved, run: ``sudo systemctl restart php8.3-fpm``, and the
836836
changes will apply.
837837

838838
.. SEEALSO::

admin-manual/customization/theming.rst

+2-1
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,8 @@ Additional steps for tarball installations:
9292
*******************************************
9393

9494
If not already installed, first `download the node.js binary distributuion
95-
<https://nodejs.org/en/download>`_ and export the PATH variable.
95+
<https://nodejs.org/en/download>`_ and export the PATH variable. AtoM requires
96+
the latest LTS version of node, v22 or above is required for AtoM 2.9+.
9697

9798
The tarball is missing three required files for this:
9899

admin-manual/installation/execution-limits.rst

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ useful guide we recommend reading: `Common pitfalls
1313
Some of these values are set during installation, in the PHP configuration
1414
pool you set up here:
1515

16-
* :ref:`20.04 PHP-FPM Configuration <installation-ubuntu-serve-php-fpm>`
16+
* :ref:`24.04 PHP-FPM Configuration <installation-ubuntu-serve-php-fpm>`
1717

1818
.. _execution-php-ini:
1919

@@ -168,7 +168,7 @@ caches and restart Memcached (if you're using it as cache engine).
168168

169169
.. code-block:: bash
170170
171-
sudo systemctl restart php7.4-fpm
171+
sudo systemctl restart php8.3-fpm
172172
php symfony cc
173173
174174
**Optionally, to restart Memcached**:

admin-manual/installation/macosx.rst

+6-6
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
Mac OS X
55
========
66

7-
OS X 10.7 (Lion) and newer ships with Apache and PHP pre-installed.
8-
Recent versions of OS X include PHP 5.4. On the other hand, MySQL can be
7+
OS X 15.2 (Sequoia) and newer ships with PHP pre-installed.
8+
Recent versions of OS X include PHP 8.x. On the other hand, MySQL can be
99
installed using the `official package <http://dev.mysql.com/downloads/mysql/>`_.
1010

1111
However, we encourage you to use `homebrew <http://brew.sh/>`_, an open source
@@ -16,19 +16,19 @@ and its maintenance much easier. Installing homebrew is easy:
1616
1717
ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go/install)"
1818
19-
Note that Xcode is required, which you can download from the App Store.
19+
2020
More instructions can be found at:
2121
https://github.com/mxcl/homebrew/wiki/Installation
2222

23-
Once homebrew and Xcode are installed, you are ready to install all the
23+
Once homebrew is installed, you are ready to install all the
2424
packages needed:
2525

2626
.. code-block :: bash
2727
28-
brew install php54 --with-mysql --with-fpm
28+
brew install php --with-mysql --with-fpm
2929
brew install nginx
3030
brew install elasticsearch
31-
brew install mysql55
31+
brew install mysql
3232
3333
Some extra :ref:`dependencies <installation-requirements>` can be also be
3434
installed via homebrew:

admin-manual/installation/requirements.rst

+5-4
Original file line numberDiff line numberDiff line change
@@ -62,12 +62,13 @@ of each component.
6262
* A webserver like `Apache <https://httpd.apache.org/>`__ or
6363
`Nginx <http://nginx.com/>`__; Artefactual prefers the latter in
6464
development
65-
* `Elasticsearch <https://www.elastic.co/products/elasticsearch>`__ 5.x (we use
66-
ES 5.6 in development). Elasticsearch 6.0 or newer is not supported as they
67-
have deprecated a number of APIs still used in AtoM
65+
* `Elasticsearch <https://www.elastic.co/products/elasticsearch>`__ 6.x (we use
66+
ES 6.8 in development). ES 7 is not supported as ES 7.11+ uses Server
67+
Side Public License (SSPL) and Elastic License 2.0 (ELv2), which are not
68+
approved by the Open Source Initiative.
6869
* `Java <https://www.java.com/en/>`__ 8 (required for Elasticsearch)
6970
* `MySQL <https://www.mysql.com/>`__ 8.0
70-
* `PHP <http://php.net/>`__ 7.4
71+
* `PHP <http://php.net/>`__ 8.x (8.1, 8.2, 8.3 are all supported)
7172
* `Gearman job server <http://gearman.org>`__
7273

7374
Optionally, Memcached can be used as cache engine:

admin-manual/installation/ubuntu.rst

+30-28
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
.. _installation-ubuntu:
22

3-
======================================
4-
Linux - Ubuntu 20.04 LTS (Focal Fossa)
5-
======================================
3+
==========================================
4+
Linux - Ubuntu 24.04 LTS (Noble Numbat)
5+
==========================================
66

77
Most of the configuration steps described in this document apply to any modern
88
Linux environment, however some of them will apply only to Ubuntu and likely to
@@ -11,7 +11,7 @@ development and testing using Ubuntu LTS releases, and cannot guarantee that
1111
other versions, distributions, or operating systems will work as expected with
1212
the following instructions.
1313

14-
This document is based in `Ubuntu 20.04 LTS (Focal Fossa)`_. Once you have
14+
This document is based in `Ubuntu 24.04 LTS (Noble Numbat)`_. Once you have
1515
installed it, you should be able to follow the instructions described below.
1616
In particular, we are going to use Ubuntu packages that can be found under the
1717
`repositories`_ *main* and *universe*.
@@ -108,24 +108,20 @@ and install the public signing key used in their repository:
108108

109109
.. code-block:: bash
110110
111-
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
112-
113-
.. IMPORTANT::
114-
115-
Don't miss the dash ( ``-`` ) at the end of the above command!
111+
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg
116112
117113
Now add their repository:
118114

119115
.. code-block:: bash
120116
121-
echo "deb https://artifacts.elastic.co/packages/5.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-5.x.list
117+
echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/oss-6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.list
122118
123119
Ready to be installed. Run:
124120

125121
.. code-block:: bash
126122
127123
sudo apt update
128-
sudo apt install elasticsearch
124+
sudo apt install -y elasticsearch-oss
129125
130126
Start the service and configure it to start when the system is booted.
131127

@@ -139,13 +135,14 @@ Start the service and configure it to start when the system is booted.
139135
PHP
140136
---
141137

142-
Ubuntu 20.04 bundles PHP 7.4, which is much faster than older releases. The
143-
following command will install it along with the rest of PHP extensions
138+
Ubuntu 24.04 bundles PHP 8.3, which is much faster than older releases.
139+
The following command will install it along with the rest of PHP extensions
144140
:ref:`required <installation-requirements>` by AtoM:
145141

146142
.. code-block:: bash
147143
148-
sudo apt install php-common php7.4-common php7.4-cli php7.4-curl php7.4-json php7.4-ldap php7.4-mysql php7.4-opcache php7.4-readline php7.4-xml php7.4-mbstring php7.4-xsl php7.4-zip php-apcu php-apcu-bc
144+
# For Ubuntu 24.04, running PHP 8.3
145+
sudo apt install php-common php8.3-common php8.3-cli php8.3-curl php-json php8.3-ldap php8.3-mysql php8.3-opcache php8.3-readline php8.3-xml php8.3-mbstring php8.3-xsl php8.3-zip php-apcu
149146
150147
If you are using Memcached as cache engine, you will also need to install
151148
`php-memcache`:
@@ -309,8 +306,13 @@ After downloading the code, you will need to compile the themes files:
309306
Compile Bootstrap 5 Theme Files:
310307
--------------------------------
311308

309+
.. note::
310+
When working with Bootstrap 5 themes, AtoM requires the latest LTS version of node.
311+
Node v22 or above is required for AtoM 2.9+.
312+
312313
.. code-block:: bash
313314
315+
sudo apt install npm
314316
sudo npm install
315317
sudo npm run build
316318
@@ -528,16 +530,16 @@ file :file:`/usr/lib/systemd/system/atom-worker.service`:
528530
User=www-data
529531
Group=www-data
530532
WorkingDirectory=/usr/share/nginx/atom
531-
ExecStart=/usr/bin/php7.4 -d memory_limit=-1 -d error_reporting="E_ALL" symfony jobs:worker
533+
ExecStart=/usr/bin/php8.3 -d memory_limit=-1 -d error_reporting="E_ALL" symfony jobs:worker
532534
KillSignal=SIGTERM
533535
Restart=on-failure
534536
RestartSec=30
535537
536538
.. IMPORTANT::
537539

538-
If you are not using PHP 7.4, be sure to update the `ExecStart` filepath
539-
in the `[Service]` section of the sample configuration block above!
540-
Currently it assumes PHP 7.4 is being used, and will not work for
540+
If you are not using PHP 8.3, be sure to update the `ExecStart` filepath
541+
in the `[Service]` section of the sample configuration block above!
542+
Currently it assumes PHP 8.3 is being used, and will not work for
541543
installations using a different PHP version without modification.
542544

543545
Now reload systemd, enable and start the AtoM worker:
@@ -561,10 +563,10 @@ scales better than other solutions like FastCGI.
561563

562564
.. code-block:: bash
563565
564-
sudo apt install php7.4-fpm
566+
sudo apt install php-fpm
565567
566568
Let's add a new PHP pool for AtoM by adding the following contents in a new
567-
file called :file:`/etc/php/7.4/fpm/pool.d/atom.conf`:
569+
file called :file:`/etc/php/8.3/fpm/pool.d/atom.conf`:
568570

569571
.. code-block:: ini
570572
@@ -575,7 +577,7 @@ file called :file:`/etc/php/7.4/fpm/pool.d/atom.conf`:
575577
group = www-data
576578
577579
; Use UNIX sockets if Nginx and PHP-FPM are running in the same machine
578-
listen = /run/php7.4-fpm.atom.sock
580+
listen = /run/php-fpm.atom.sock
579581
listen.owner = www-data
580582
listen.group = www-data
581583
listen.mode = 0600
@@ -630,23 +632,23 @@ The process manager has to be enabled and started:
630632

631633
.. code-block:: bash
632634
633-
sudo systemctl enable php7.4-fpm
634-
sudo systemctl start php7.4-fpm
635+
sudo systemctl enable php8.3-fpm
636+
sudo systemctl start php8.3-fpm
635637
636638
If the service fails to start, make sure that the configuration file has been
637639
has been pasted properly. You can also check the syntax by running:
638640

639641
.. code-block:: bash
640642
641-
sudo php-fpm7.4 --test
643+
sudo php-fpm8.3 --test
642644
643645
If you are not planning to use the default PHP pool (``www``), feel free to
644646
remove it:
645647

646648
.. code-block:: bash
647649
648-
sudo rm /etc/php/7.4/fpm/pool.d/www.conf
649-
sudo systemctl restart php7.4-fpm
650+
sudo rm /etc/php/8.3/fpm/pool.d/www.conf
651+
sudo systemctl restart php8.3-fpm
650652
651653
.. _installation-ubuntu-serve-nginx:
652654

@@ -704,7 +706,7 @@ contents in :file:`/etc/nginx/sites-available/atom`.
704706
.. code-block:: nginx
705707
706708
upstream atom {
707-
server unix:/run/php7.4-fpm.atom.sock;
709+
server unix:/run/php-fpm.atom.sock;
708710
}
709711
710712
server {
@@ -796,7 +798,7 @@ information on your first steps using AtoM.
796798
:ref:`Back to top <installation-ubuntu>`
797799

798800

799-
.. _`Ubuntu 20.04 LTS (Focal Fossa)`: http://releases.ubuntu.com/focal/
801+
.. _`Ubuntu 24.04 LTS (Noble Numbat)`: http://releases.ubuntu.com/noble/
800802
.. _`repositories`: https://help.ubuntu.com/community/Repositories/Ubuntu
801803
.. _`download section`: http://www.accesstomemory.org/download
802804
.. _`public repository`: https://github.com/artefactual/atom

admin-manual/installation/upgrading.rst

+5-6
Original file line numberDiff line numberDiff line change
@@ -54,15 +54,14 @@ purpose of the release and how best to install it.
5454
Make sure the dependencies are updated
5555
======================================
5656

57-
Since the 2.5 version, AtoM uses Elasticsearch 5.x. If you're upgrading from an
57+
As of version 2.9, AtoM uses Elasticsearch 6.8. If you're upgrading from an
5858
earlier version, please make sure to upgrade your Elasticsearch installation.
5959
You don't need to backup your index data as it will be recreated from the
6060
database later in the upgrade.
6161

62-
You will also need to upgrade to Java 8 if the system is using a previous
63-
version, as this is a requirement for Elasticsearch 5.x.
62+
Elasticsearch is built using Java, and requires at least Java 8 in order to run.
6463

65-
Since the 2.6 version, AtoM requires MySQL 8.0. Bellow we'll explain the steps
64+
Since the 2.6 version, AtoM requires MySQL 8.0. Below we'll explain the steps
6665
needed to move and upgrade the AtoM database to properly work with that version.
6766

6867
Install the latest version of AtoM
@@ -313,7 +312,7 @@ and the atom-workers managed by the job scheduler.
313312

314313
.. code-block:: bash
315314
316-
sudo systemctl restart php7.4-fpm
315+
sudo systemctl restart php8.3-fpm
317316
318317
**Optionally, to restart Memcached**:
319318

@@ -494,7 +493,7 @@ To restart PHP-FPM:
494493

495494
.. code-block:: bash
496495
497-
sudo systemctl restart php7.4-fpm
496+
sudo systemctl restart php8.3-fpm
498497
499498
If you are using Memcached with AtoM, you may also want to restart it:
500499

admin-manual/maintenance/cli-tools.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -2441,7 +2441,7 @@ there is also a ``--demo`` option available:
24412441
.. code-block:: bash
24422442
24432443
php symfony cc
2444-
sudo systemctl restart php7.4-fpm
2444+
sudo systemctl restart php8.3-fpm
24452445
24462446
Optionally, if you're using Memcached as cache engine:
24472447

admin-manual/maintenance/debug.rst

+2-50
Original file line numberDiff line numberDiff line change
@@ -17,54 +17,6 @@ To diagnose AtoM application errors it is usually useful to run in Debug mode
1717
(though the types of messages displayed is subject to your PHP error reporting
1818
configuration setting), as well as displaying a debug toolbar.
1919

20-
There are two methods for enabling Debug mode for AtoM.
21-
22-
Using qubit_dev.php
23-
-------------------
24-
25-
Using the "qubit_dev.php"
26-
`front controller <http://en.wikipedia.org/wiki/Front_Controller_pattern>`_
27-
for AtoM is the simplest way see debugging information, as it only involves a
28-
simple change to the web address (URL) used to access the application. For
29-
instance:
30-
31-
.. code:: bash
32-
33-
http://www.example.com/atom/informationobject/browse
34-
35-
becomes
36-
37-
.. code:: bash
38-
39-
http://www.example.com/atom/qubit_dev.php/informationobject/browse
40-
41-
42-
.. important::
43-
44-
Access to "qubit_dev.php" is limited to the server (localhost) IP address
45-
by default. This means that to access the 'qubit_dev.php' page you must be
46-
running a web-browser on the actual server that is hosting the AtoM
47-
application. If this is not the case you will see an error message:
48-
49-
**You are not allowed to access this file. Check qubit_dev.php for more
50-
information.**
51-
52-
A :term:`developer` can edit the PHP configuration file (frequently located at
53-
``/etc/php/7.4/fpm/pool.d/atom.conf``) to add further IP addresses to the
54-
``ATOM_DEBUG_IP`` variable - this is called by ``qubit_dev.php`` and checked
55-
for allowed IP addresses. Doing so will allow you to access Debug mode from a
56-
different IP address than that of the server.
57-
58-
.. image:: images/debug-ip.*
59-
:align: center
60-
:width: 85%
61-
:alt: an image of the ATOM_DEBUG_IP variable in the php configuration file
62-
63-
After making changes to the ``ATOM_DEBUG_IP`` variable in ``atom.conf``, you
64-
will need to restart PHP-FPM. See:
65-
66-
* :ref:`troubleshooting-restart-php-fpm`
67-
6820
Editing the index.php file
6921
--------------------------
7022

@@ -87,12 +39,12 @@ comfortable editing files, please contact your system administrator.
8739
$configuration = ProjectConfiguration::getApplicationConfiguration('qubit',
8840
'prod', false);
8941
90-
3. Update the "false" flag to "true"
42+
3. Update the "prod" environment to "dev" and "false" flag to "true"
9143

9244
.. code:: bash
9345
9446
$configuration = ProjectConfiguration::getApplicationConfiguration('qubit',
95-
'prod', true);
47+
'dev', true);
9648
9749
4. Save the index.php file
9850

0 commit comments

Comments
 (0)