Halloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PCHalloween DealsAmazon USOctober picks are moving - compare before checkoutAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk11 min

How to Install Omeka on a VPS and Fix 500 Internal Server Errors

Install Omeka S or Classic on a Linux VPS with the right PHP and database versions, configure Apache rewrites and permissions, then diagnose HTTP 500 errors from Apache, PHP, and Omeka logs.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Install the correct Omeka edition for your server first, then treat every HTTP 500 response as a logging problem rather than a guessing game. Omeka S 4.2 and Omeka Classic 3.2 have different PHP, database, and extension requirements. A reliable deployment therefore follows this order: choose the edition, provision a Linux VPS, configure Apache and PHP, create a dedicated database, set permissions, finish the browser installer, and verify the PHP command-line path. If the site later returns 500, check the timestamped Apache, PHP/PHP-FPM, and Omeka logs before changing configuration.

Choose Omeka S or Omeka Classic before provisioning the VPS

The two Omeka editions are separate applications. Their supported PHP versions, database drivers, required extensions, configuration files, background-job behavior, and module or theme compatibility are not interchangeable. Decide which edition you are deploying before selecting a PHP package or copying files.

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Requirement Omeka S 4.2 Omeka Classic 3.2
Operating system and web server Linux with Apache; AllowOverride All and mod_rewrite are required Linux with Apache and mod_rewrite
Database MySQL 5.7.9 or newer, or MariaDB 10.2.6 or newer MySQL 5.5.5 or newer
PHP PHP 8.1 or newer; PHP 8.4 is supported beginning with Omeka S 4.2 PHP 7.1 or newer; the Classic requirements page says 3.2.1 supports PHP as high as 8.5
Required PHP extensions pdo, pdo_mysql, mbstring, and xml mysqli and exif
Image and thumbnail support Optional: ImageMagick, the PHP imagick extension, or GD ImageMagick is required by the stated Classic requirements
Main configuration location config/database.ini Use the configuration file shipped with the Classic release

“Newer PHP” is not automatically safer. A release can fail when an extension is missing or when a theme or module expects an older API. Match the application version to the PHP version installed on the VPS, and test upgrades on a copy before changing a production site.

What the VPS must provide

Use a Linux VPS where you have root or sudo access, control over Apache and PHP packages, access to web-server and PHP logs, and a backup mechanism. Storage should cover the operating system, database, Omeka code, uploaded files, generated thumbnails, and at least one local staging copy. A managed VPS is acceptable only if its control panel still lets you set Apache overrides, enable rewrite support, select the required PHP extensions, and read the relevant logs.

#1 Best Overall
Sale
TOZO A1 Wireless Earbuds Bluetooth 5.3 Light Weight in Ear Headphones | IPX5 Waterproof,2 Mics for AI Calls,Immersive Premium Sound Bass Headset with Charging Case,32 EQ via App Black
  • [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
  • [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
  • [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
  • [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
  • [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.
  • Administrative access through SSH or an equivalent console.
  • A supported Linux distribution with security updates.
  • Apache, PHP, and MySQL or MariaDB package control.
  • A DNS name pointed at the VPS and a document root dedicated to this installation.
  • Regular database and files/ backups stored outside the VPS.
  • Firewall rules that expose HTTP and HTTPS while restricting database access to the local machine or trusted hosts.

The exact package names differ by distribution. The commands below illustrate a Debian or Ubuntu-style system; use the equivalent packages and service names on another Linux distribution.

Prepare Apache, PHP, and the database server

Update the operating system, install Apache, the PHP version required by your chosen edition, the database server, and the extensions listed in the table. Do not install two competing PHP versions and assume Apache and the command line will choose the same one.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
sudo apt update
sudo apt upgrade
sudo apt install apache2 mysql-server php php-cli libapache2-mod-php php-mysql php-mbstring php-xml

For Classic, add the package providing mysqli, exif, and ImageMagick if your distribution splits them from the base PHP package. For Omeka S thumbnail generation, install either ImageMagick with the PHP imagick extension or GD. Confirm what Apache and the shell actually use:

php -v
php -m
sudo apachectl -M | grep rewrite
sudo systemctl status apache2
sudo systemctl status mysql

The module list should show the extensions required by the edition. If php -m reports the right modules but Apache uses a different PHP handler, inspect the enabled Apache configuration and PHP-FPM service before continuing.

Create a dedicated database and account

Give each Omeka installation its own database and database user. Omeka S documentation specifically advises not reusing a database or table prefix from another Omeka installation. Separate credentials limit accidental cross-site changes and make migrations easier.

sudo mysql
CREATE DATABASE omeka_site CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'omeka_user'@'localhost' IDENTIFIED BY 'use-a-long-random-password';
GRANT ALL PRIVILEGES ON omeka_site.* TO 'omeka_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Use a password manager to generate the password and keep it out of shell history where possible. If the database is on another host, replace localhost with the permitted source address, open only the required firewall path, and verify that the database server accepts remote connections. A successful login from the VPS is a useful pre-installation check:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #2
Sale
Smart Watch for Men Women Compatible with iPhone Samsung Android Phone 1.69 inch Full Touch Screen IP68 Waterproof Bluetooh Fitness Tracker Heart Rate/Sleep Monitor (Black)
  • 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
  • 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
  • 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
  • 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
  • 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.
mysql -u omeka_user -p -h localhost omeka_site

Download, configure, and place Omeka in the document root

Omeka S

  1. Download the Omeka S release archive that matches your planned deployment and verify the archive before extraction.
  2. Extract it outside the public directory first, then copy the resulting application directory into the site document root, such as /var/www/omeka-s.
  3. Before uploading or exposing the site, edit config/database.ini and enter the database name, user, password, and host created in the previous section.
  4. Keep the file readable by the web server but not world-writable. Never place database credentials in a file served as a static download.

Omeka Classic

  1. Download the Classic release that matches the PHP version and the modules or themes you intend to use.
  2. Extract the archive into the document root or a subdirectory, preserving the supplied .htaccess file.
  3. Use the browser installer to enter the database host, name, user, and password when prompted.

If the archive was extracted on a workstation, check hidden files before uploading. A missing .htaccess can look like a PHP failure because routes that should be rewritten to the application instead return errors or incorrect pages.

Configure Apache rewrites and AllowOverride

Clean Omeka URLs depend on Apache rewrite support. Enable mod_rewrite, and make sure the directory containing Omeka is covered by a Directory block with AllowOverride All. Without the override, Apache ignores the application’s .htaccess rules even when the file is present.

sudo a2enmod rewrite
sudo systemctl reload apache2

A minimal virtual host for a site installed at /var/www/omeka-s looks like this:

<VirtualHost *:80>
    ServerName archive.example.org
    DocumentRoot /var/www/omeka-s

    <Directory /var/www/omeka-s>
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/omeka-error.log
    CustomLog ${APACHE_LOG_DIR}/omeka-access.log combined
</VirtualHost>

Enable the site, test the configuration, and reload Apache:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
sudo a2ensite omeka.conf
sudo apachectl configtest
sudo systemctl reload apache2

The test must report a valid configuration before you reload. If the site is installed in a subdirectory, adjust the document root and preserve the release’s expected base path. A reverse proxy, control panel, or PHP-FPM setup may use a different virtual-host layout, but the requirements remain: Apache must load rewrite support, and the Omeka directory must allow the required overrides.

Set ownership and write permissions safely

Apache needs to write Omeka’s files/ directory for uploaded media and generated data. The relevant Omeka log directory must also be writable when application logging is enabled. Make only those runtime directories writable; do not make the whole application tree world-writable.

Rank #3
New Bee Guitar Cable 10ft Electric Instrument Bass AMP Cord
  • [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
  • [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
  • [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
  • [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
  • [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by
sudo chown -R root:www-data /var/www/omeka-s
sudo find /var/www/omeka-s -type d -exec chmod 755 {} ;
sudo find /var/www/omeka-s -type f -exec chmod 644 {} ;
sudo chown -R www-data:www-data /var/www/omeka-s/files
sudo chmod -R u+rwX,g+rwX /var/www/omeka-s/files

Use the web-server account for your distribution instead of assuming it is www-data. If you later enable Omeka logging, apply equivalent ownership and permissions to the documented log location. Excessive permissions can hide the real problem while creating a larger security risk.

Finish the browser installation and verify the PHP CLI path

  1. Open the site URL, followed by /admin, in a browser.
  2. Complete the installation form. Enter the dedicated database credentials exactly, including the host name.
  3. Create the administrator account with a unique password and store the recovery information securely.
  4. Sign in and open the System Information page.
  5. Check the PHP command-line path shown there. Omeka S uses PHP CLI for background jobs; an invalid or stale path can leave jobs failing even when page requests work.
  6. If autodetection selected the wrong binary, set the path manually to the PHP executable used by the supported installation, then run another system-information check.

Do not delete the installation files until you have confirmed that the administrator area, a public item page, an upload, and any enabled background job all work. Take a database and file backup immediately after the clean installation.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Use a log-first method for every HTTP 500

HTTP 500 means the server could not complete the request; it does not identify the cause. Record the exact time, URL, and action that produced the response, then inspect the log lines from that minute. The Omeka forum’s practical guidance is that an Apache problem normally appears in Apache’s log, while a PHP problem may appear in the Apache log or in a separate PHP log, depending on the PHP setup.

Check Apache and PHP logs first

sudo tail -n 100 /var/log/apache2/error.log
sudo tail -n 100 /var/log/apache2/omeka-error.log
sudo journalctl -u apache2 --since '15 minutes ago'
sudo journalctl -u php8.2-fpm --since '15 minutes ago'

Replace the PHP-FPM service name with the version actually installed. On another distribution, use its Apache and PHP log paths. Look for a fatal error, an uncaught exception, a missing class or extension, a permission denial, a syntax error in a virtual host, or a database connection failure. The first relevant line at the request time is usually more useful than the final generic 500 line.

Then inspect Omeka’s own logs

Omeka’s application logs can reveal a module, theme, routing, or database error that Apache reports only as a generic failure. Ensure the relevant log directory is writable before relying on it. Omeka Classic can write errors to application/logs/errors.log when log.errors is enabled. Omeka S has its own error-logging configuration and developer-style diagnostics.

Never paste credentials, session tokens, or private item data into a public support request. Copy only the timestamped error and the surrounding stack information needed to identify the failing component.

Rank #4
BSIMB 15.6" Digital Family Calendar & Chore Chart, No Subscription Fees
  • Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
  • Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
  • All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
  • Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
  • Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Fix the common causes in the order they appear

1. PHP version or extension mismatch

Confirm the application edition and exact release, then compare it with the PHP version used by Apache, not only the one returned by an SSH shell. Omeka S 4.2 requires PHP 8.1 or newer plus pdo, pdo_mysql, mbstring, and xml. Classic 3.2 requires PHP 7.1 or newer plus mysqli and exif. A missing extension commonly produces a fatal “class not found” or “undefined function” entry in the log.

Install the missing module for the active PHP version, restart or reload the PHP handler, and retry the same URL. If the installed PHP is outside the edition’s supported range, either install a supported PHP version or upgrade the application and verify module and theme compatibility. Do not solve a compatibility error by disabling random extensions.

2. Apache rewrite, AllowOverride, or .htaccess failure

Check all three conditions together:

  • mod_rewrite is loaded.
  • The Omeka directory is covered by AllowOverride All or by an equivalent configuration that permits the required rewrite directives.
  • The release’s .htaccess file exists in the expected directory and was not omitted as a hidden file during upload.

Run apachectl configtest after editing the virtual host. A directive rejected by Apache will appear immediately in the syntax-test output or service journal. A route that fails only when opened directly, while the home page loads, strongly suggests a rewrite or base-path issue rather than a database failure.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

3. Database credentials or permissions

Recheck the host, database name, user, and password character by character. Test the same credentials from the VPS with the MySQL client. Confirm that the account has privileges on the intended database and that the database service is running. For Omeka S, these values belong in config/database.ini; changing a different configuration file will have no effect.

Do not point a new installation at an existing Omeka database unless you deliberately planned a migration and have a verified backup. Reusing another installation’s tables or prefix can produce missing-table errors and data corruption.

4. Filesystem permissions

If the log reports “permission denied” while uploading, generating a thumbnail, or writing a log, inspect the owner and mode of files/ and the relevant log directory. The account running Apache or PHP-FPM must have write access. Restore restrictive read permissions on application code after correcting the runtime directories.

5. Invalid PHP CLI path

A website can render pages while background jobs fail because the CLI path points to a removed PHP binary. Use Omeka S’s System Information page, compare the configured path with command -v php, and set the correct executable when necessary. Re-run the job after changing it and inspect the PHP CLI output separately from Apache’s request log.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

6. A module or theme introduced the failure

If the 500 began immediately after enabling a module, theme, or update, disable that component using the edition’s administration tools or a controlled filesystem rollback, then retest. Restore the last known-good code and database backup if the administration area is unreachable. Keep a written list of each change so you can identify the first failing action instead of changing several variables at once.

Enable diagnostics temporarily, then turn them off

For Classic, the documented diagnostic options include setting SetEnv APPLICATION_ENV development or enabling error display in .htaccess. Classic can also log to application/logs/errors.log when log.errors is enabled. Omeka S provides developer-style error tracking through its error-logging configuration.

Use verbose display only on a private staging copy or during a short, access-controlled maintenance window. PHP notices can disclose filesystem paths, database details, and request data. Once you have captured the stack trace, restore production error handling and keep logging enabled at a level that does not expose secrets.

Recovery matrix for a 500 response

What you observe Most useful next check Typical corrective action
500 immediately after changing PHP Apache/PHP log for missing extensions or fatal compatibility errors Install the edition’s required modules or switch to a supported PHP version
Home page works but item or admin routes fail Rewrite module, AllowOverride, and presence of .htaccess Enable rewrite support and correct the virtual-host directory block
Failure on install or after editing database settings Database-client login and the application configuration file Correct host, database, user, password, and grants
Upload or thumbnail operation fails Owner and mode of files/, plus ImageMagick/GD availability Grant the web server write access and install a supported image backend
Pages work but scheduled/background work fails Omeka S System Information PHP CLI path Point Omeka to the valid PHP executable and rerun the job
No useful application log is created Log-directory ownership and application logging settings Make the log location writable, enable logging briefly, and retry

After the installation: hardening and maintenance

  • Apply operating-system, Apache, PHP, database, and Omeka security updates on a maintenance schedule.
  • Keep the database and uploaded files in separate backups, and test restoring both to a staging VPS.
  • Restrict database network access and use SSH keys or another strong administrative login method.
  • Serve the site over HTTPS and redirect plain HTTP once the certificate is working.
  • Monitor Apache, PHP, and Omeka logs for repeated fatal errors, authentication failures, and disk-space warnings.
  • Document the Omeka edition, release, PHP binary path, enabled extensions, virtual-host file, database name, and backup location.
  • Before upgrading PHP or Omeka, clone the VPS or restore a backup to staging, test administrator login, public routes, uploads, thumbnails, modules, themes, and background jobs.

A predictable deployment is the best defense against a 500: one supported edition, one dedicated database, explicit Apache rewrite settings, minimum necessary write permissions, and logs that are readable at the moment a failure occurs.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Crashes, No Sound, or Screen Glitches?Free driver scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.