Serving up Omeka: An Installation Recap

[Check out Johnathan Reeve's post at The Programming Historian for an updated Omeka installation guide.]

As the LC Poets Online self-proclaimed “techie”, setting up the server side of our project fell to me. Last summer, Katie Osborn and Dan Froid did some great work on our test site, [version 1 of this website, Laboring-Class Poets Online]. This site allowed them to create poet entries and items for poems, books, and other works. Though sites are free and quick to set up, installations provide a much better route for our project in the long term. A full Omeka installation supports plugins such as Neatline as well as custom themes and better backend administration. The downside of such an install is that it requires separate hosting and a domain name, and some familiarity with servers in that the project team will likely have to install the Omeka software and create a SQL database for the project.

Last summer, I moved the domain name to VAP Hosting, a local Omaha venture that is currently offering free beta testing for their Linux Apache servers, which is what we needed for Omeka. After returning from study abroad, I dug back into this technical work.

There are three main steps to fully setting up Omeka:

  1. preparing and configuring your server
  2. creating a SQL database and installing Omeka on the server
  3. creating user accounts, configuring settings, and installing themes and plugins to customize your installation.

This blog post will cover the first two steps.

Prerequisites (Omeka 2.x) [adopted from]:

  • Domain name: purchase one, and preferably bundle it with a hosting service
  • Server Hardware:
    • RAM: 1GB+
    • HDD: variable by project size
    • CPU: 600 MHz dedicated
  • Server Software
    • OS: Linux
    • Server build: Apache
    • Support for MySQL 5.0 +
    • PHP 5.2.11 + Fileinfo + mysqli extension + exif extension; 5.3 + recommended
    • ImageMagick
  • FTP Software
    • FTP Client (such as Filezilla). Some server control panels allow you to upload files directly, but FTP clients are usually better for this setup.
  • Omeka Software

Our current server:

  • RAM: 1 GB
  • HDD: 73MB of 40 GB used (0.2%)
  • CPU Usage: very low
  • OS: Linux
  • SQL Databases: 1/20 maximum
  • Apache: v2.2.26
  • PHP: v5.4.24
  • MySQL: v5.5.35-cll

Here are the installation steps for Omeka, taken from and modified by me to highlight parts of our installation process:

  1. Create a MySQL database on your web host, as well as a user with permissions to modify the database.
    • Make sure to take note of the database hostname, the database name, the database user’s username, and the database user’s password.
    • Make sure the collation of your database is set to ‘utf8_unicode_ci’ and that the charset is ‘utf8’.
    • This SQL or MySQL database has new, separate user accounts than the main server login or your Omeka login

    Snapshot of LCPO SQL setup

  1. Download the latest version of Omeka and uncompress the .zip file.
    • The .zip file will have a name similar to ‘’ that includes the version number. We are running Omeka versions 2.1.4.
    • Save the .zip file somewhere you can find it again, such as your Download folder. Double-click the .zip file to extract the files in the .zip archive, and make sure to note where the files are extracted.
    • If you are unable to extract the files, you might need to download an uncompression program such as WinZip or WinRAR [for Windows] or Stuffit Expander [for Mac]. I had no issues extracting the files.
    • The extracted (uncompressed) directory will have a name similar to ‘omeka’ that includes the version number.
    • Users familiar with git might want to clone the code from the Omeka GitHub repository. (I’ve used git before, but downloading the .zip file was faster).
  2. In the resulting directory, find and open your database configuration file, which is named ‘db.ini’. Replace the ‘XXXXX’ values in the db.ini filewith your database host, username, password, and database name.
    • You can edit the ‘db.ini’ file with a text editor such as Notepad for Windows or TextEdit for Mac. Be sure to save the file as plain text and keep the name ‘db.ini’.
    • You do not need to change values for ‘prefix’ and ‘port’ in the db.ini file.
    • I performed this step after uploading the contents to the server because TextEdit didn’t open the db.ini file well; it looked really messy and unformatted, while editing it directly through the server “Code Editor” preserved the formatting.
  3. Upload the directory and all of its contents, including the updated ‘db.ini’ file, to your server.
    • If you have command-line access to your server, you can upload the Omeka .zip file and unzip it on the server.
    • If you do not have command-line access to your server, you can use a file transfer program such as Filezilla or FireFTP to transfer the contents of the unzipped omeka directory to your server. This may take 20 minutes or more.
      1. This is the approach that I took. Using Filezilla as an FTP solution is the best method for our particular server setup. cPanel includes an option to configure an FTP client such as Filezilla with an XML file that can be imported directly to setup all the settings for the connection besides the user password.


    • Make sure to upload the ‘.htaccess’ file that’s in the top-level directory of the Omeka zip along with the rest of the files. This file is hidden by default in many file transfer programs; to see the ‘.htaccess’ file, you may need to change the preferences in your file transfer program.
      1. This came over automatically for me, so I didn’t have to changes any preferences.
    • You can rename the omeka directory either before or after you upload it to give it a URL that is relevant to your project.
  1. Make Omeka’s storage directory and its sub-directories writable by the web server. For Omeka 1.5.3, the directory is ‘archive’. For Omeka 2.0+, the directory is ‘files’. You can change the permissions yourself with an FTP or other file transfer program, or with shell commands over SSH. If you’re not sure what to do, ask your host for advice, or to change the permissions for you.
    • I didn’t do this step because I was working off a different set of instructions, and haven’t had any issues (yet).
  2. Open your web browser and visit the URL where you uploaded the omeka directory. Click “Install”.
    • If you renamed the omeka directory ‘project’ and put it in the top-most directory of your site, for instance, the URL to visit would be
  3. Complete the installation form by filling out the required fields, including the name of your Omeka site, email address, and username/password of the super user (the super user account controls the entire website).
    • You can leave fields that are already filled in as they are; you do not need to change the values.

If the installation was successful, you’ll see a screen with links to view the live site or to log in with the superuser’s username and password to the administrative panel at Congratulations!

Finally completing this Omeka install was a large step forward for the project. Having performed an installation once, we are now better prepared to install Omeka again in case we ever need to export the database and move to a new serve. The next steps for our installation include adding sandbox users and then specific user accounts; installing plugins such as CSV Import and Neatline; adding different themes for the end user; creating item element sets for item types such as LC Poets; and importing poet entries from completed spreadsheets.