Installation on Mac OSX Lion

A detailed step-by-step of an install on Mac OSX Lion is on my website at http://timara.con.oberlin.edu/~jtalbert/Databases/db.htm

For evaluation purposes on OSX I prefer to install a LAMP framework such as MAMP (http://www.mamp.info/en/index.html) or XAMPP (http://www.apachefriends.org/en/xampp.html). This bundles everything you need for Omeka (MySQL, Apache, PHP) except ImageMagick in one directory with no system dependancies. Plus they come with phpMyAdmin pre-configured for use.. also very handy for beginners. Some versions of MAMP don't play nice with Omeka (search the Forums for details) so I currently recommend XAMPP (1.7.3). I'm using this now with no issues under OSX Lion (10.7.1). Here are my steps for installing Omeka under this scenario:

ImageMagick:

Either use the method you described in your write-up (definitely the quickest way), or else install the free OSX developer package (Xcode) from Apple (http://developer.apple.com/xcode/) followed by the MacPorts (http://www.macports.org/) package manager. Then compile and install imagemagick with one terminal command: "sudo port install imagemagick". A benefit of a port based install is that it's very easy to update or remove packages afterwards. Plus it's very useful to be able to make use of other handy packages for file conversions and such via the same process.

Omeka:

1. Download, drag and drop XAMPP in /Applications
2. Start MySQL and Apache services using XAMPP control app.
3. Goto http://localhost in browser to access phpMyADmin
4. Create new user "omeka" with database "omeka" (or as you wish)
5. Download Omeka, unzip in XAMPP htdocs, rename to "omeka" (or as you wish)
6. In Omeka directory, add database, user you created with phpMyAdmin
7. In Terminal, goto Omeka directory, "chmod -R 777 archive"
8. Goto http://localhost/omeka/
9. Enter Omeka set-up info (name, email etc.). If you installed imagemagick using port then the path you need to enter at the bottom of the Omeka set-up page is /opt/local/bin/
10. Start using Omeka.

Hello,
I completed the installation up to step 6. I installed ImageMagick through the terminal. I then typed cd omeka and received the message: cd: Omeka: No such file or directory. Any hints on how to proceed.
Thank you in advance

If you unzipped omeka to XAMPP's htdocs folder, then the file path you'll use with your cd command is actually /Applications/XAMPP/xamppfiles/htdocs/omeka .

Thanks for the prompt response. Now I stuck on step 8. When I try to open http://localhost/omeka/ I receive an error message "Omeka has encountered an error". Any hints.

It's likely a database configuration error. The directions in step six are a bit unclear, it should read "in the Omeka directory, open the db.ini file, delete the XXXXXs (leave the quotes), add in the database & user information you created with phpMyAdmin."

If you set up the database as written in step 4, then your db.ini file should look like this:

host     = "localhost"
username = "omeka"
password = ""
dbname   = "omeka"
prefix   = "omeka_"
charset  = "utf8"
;port     = ""

That is correct. Nevertheless I still get the error message. Maybe I should change the configuration in Phpmyadmin

Follow the instructions for retrieving error messages here: http://omeka.org/codex/Retrieving_error_messages and then reload localhost/omeka. That should tell you what the problem is.

If you follow the steps for retrieving error messages, that'll give more guidance about what might be wrong.

Sorry but I am not that tech savvy. I can't locate the .htaccess file.
Nevertheless I managed to open 'application/config/config.ini', and change the value of 'debug.exceptions' to true

That should get some info, then. Make sure that the file /application/logs/errors.log is writable by the server. Then we should be able to see the errors that are written there when you try to look at the site.

The following is the error log
[Tue Apr 24 21:51:35 2012] [error] [client fe80::1] Omeka fatal error: Access denied for user ''@'localhost' to database 'omeka'.\n\nConfirm that the information in your db.ini file is correct.

And here is the content of my db.ini file
[database]
host = "localhost"
username = "omeka"
password = ""
dbname = "omeka"
prefix = "omeka_"
charset = "utf8"
;port = ""

Is the password line actually blank in your file?

Both username and password need to be filled in with an actual MySQL username and its associated password, as you set them up in phpMyAdmin or otherwise.

I didn't fill a password neither in phpMyAdmin nor in db.ini. Might this be the error?

Yep. That's the most likely culprit. In phpMyAdmin, you'll want to make sure that there is a mysql user that has all permissions to the omeka database, and write down that username and password. Then, that info should go into the db.ini file.

The info in the db.ini file refers to mysql users, passwords, and database names. If you set those up in phpMyAdmin, that's the info to bring into db.ini.

HTH,
Patrick

Since that error didn't throw back a username before "@'localhost, I'm fairly certain the user "omeka" doesn't exist in your database.

Since you said your not tech savvy, here's a quick rundown for adding a new user and granting it the proper privileges:

  1. Go to http://localhost/phpmyadmin/ and click the privileges tab. Then click "Add a new User" (about halfway down the privileges page).
  2. Enter "omeka" as the user name on the first line.
  3. On the second line (Host) change the drop down from "Any host" to "local".
  4. Enter a password and confirm it on the third and fourth lines.
    Make sure "None" is selected under "Database for user", then click "Go" near the bottom of the page.
  5. On the next page under "database-specific privileges" select "omeka" in the drop down. That will throw your to another page (it should say "Edit privileges: User 'omeka'@'localhost' - Database omeka" at the top of the page)
  6. Next to "database-specific privileges" click "Check All" and then hit "Go"

Then pop open your db.ini file and add in the password, and you should be good to go.

Thanks for all the help. I had already added a new user on Phpmyadmin and following the tutorial I also created a database with the same name. The error was that I left the password field empty. After creating a password in both Phpmyadmin and db.ini I resolved the issue.
Nevertheless I encounter another issue. Although I installed Image Magick I receive the following message when I try to upload a file: The path to Image Magick has not been set. No derivative images will be created. If you would like Omeka to create derivative images, please add the path to your settings form.

If you installed imagemagick via MacPorts as described at the top of this thread then its files should be located at "/opt/local/bin". Type this path (i.e. everything inside the quotes) into the ImageMagick field at the bottom of the Omeka settings page (you'll need to be logged in as admin to see the link to Settings near the top right of your site's webpage), then click the Test button and it should work.

It works fine now. Thanks for the hint.