Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
zotero_dataserver [2011/04/25 06:33] – lemaxx | zotero_dataserver [2019/04/19 14:35] (current) – bwiernik | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Disclaimer ====== | + | See http:// |
- | + | ||
- | This guide was written based in part on information found on zitation.org (unreachable when I was writing this tutorial) as well as the indications found on zotero.org. Some steps may be unnecessary or wrong but keep in mind that this is a first version. Any help or comment is welcome. | + | |
- | + | ||
- | Some items may seem obvious but I detail some steps not to forget my next installation. | + | |
- | This installation was done on Ubuntu 10.10 desktop running in a virtual machine. This allows me to use an unmodified version of Zotero 2.1 | + | |
- | + | ||
- | ====== Dependencies: | + | |
- | + | ||
- | ===== Required ===== | + | |
- | + | ||
- | * PHP | + | |
- | * PHP modules (?) | + | |
- | * Apache | + | |
- | * Apache modules/ | + | |
- | * MySQL with root access | + | |
- | * MongoDB | + | |
- | * ability to configure /etc/hosts or DNS | + | |
- | * subversion client | + | |
- | + | ||
- | ===== Optional ===== | + | |
- | + | ||
- | * Solr | + | |
- | * Memcached | + | |
- | * Amazon S3 | + | |
- | * Webdav | + | |
- | + | ||
- | Download Zotero dataserver sources | + | |
- | Use your subversion client to pull down the sources from Zotero’s repository. If using the command-line: | + | |
- | + | ||
- | < | + | |
- | dataserver/ | + | |
- | trunk/ | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | + | ||
- | These files can be anywhere but this guide will assume they are located in / | + | |
- | + | ||
- | ====== Configure Apache and Host ====== | + | |
- | + | ||
- | ===== Host ===== | + | |
- | + | ||
- | We need to define two hostnames, the “sync” and “api” hosts. For testing on one machine this can be done via an /etc/hosts entry | + | |
- | In this exemple i use zotero.org domain because i use a virtual machine and i don’t use a custom Zotero plugin. | + | |
- | If you want to use your own domain you need to edit the plugin (see below) | + | |
- | < | + | |
- | 127.0.0.1 sync.zotero.org api.zotero.org</ | + | |
- | + | ||
- | After that when you ping sync.zotero.org you will see it is resolving to 127.0.0.1 | + | |
- | + | ||
- | ===== Apache ===== | + | |
- | + | ||
- | From web only HTDOCS folder must be accessible. So you can use a virtual host | + | |
- | Your sync server need a ssl connection you have to create two config files in / | + | |
- | + | ||
- | < | + | |
- | < | + | |
- | + | ||
- | | + | |
- | | + | |
- | + | ||
- | | + | |
- | + | ||
- | < | + | |
- | | + | |
- | | + | |
- | Order allow, | + | |
- | Allow from all | + | |
- | </ | + | |
- | + | ||
- | | + | |
- | + | ||
- | </ | + | |
- | </ | + | |
- | + | ||
- | < | + | |
- | < | + | |
- | < | + | |
- | + | ||
- | | + | |
- | | + | |
- | + | ||
- | | + | |
- | + | ||
- | < | + | |
- | | + | |
- | | + | |
- | Order allow, | + | |
- | Allow from all | + | |
- | </ | + | |
- | + | ||
- | | + | |
- | + | ||
- | # | + | |
- | | + | |
- | + | ||
- | | + | |
- | | + | |
- | + | ||
- | < | + | |
- | | + | |
- | </ | + | |
- | < | + | |
- | | + | |
- | </ | + | |
- | + | ||
- | | + | |
- | | + | |
- | | + | |
- | # MSIE 7 and newer should be able to use keepalive | + | |
- | | + | |
- | + | ||
- | </ | + | |
- | </ | + | |
- | + | ||
- | </ | + | |
- | + | ||
- | ====== Create and configure database ====== | + | |
- | + | ||
- | ===== Mongo ===== | + | |
- | + | ||
- | + | ||
- | Install MongoDB and Mongo php driver | + | |
- | + | ||
- | ===== Mysql ===== | + | |
- | + | ||
- | + | ||
- | To understand how database must be set i used the script « test_reset » locate in « Misc » folder (you can use this script to setup your database). I use the same database name. | + | |
- | + | ||
- | In this folder you will find every *.sql files need for this installation. | + | |
- | + | ||
- | You have to create 7 Mysql database. Some of them are used only when you run Zotero server in test mode, for other I do not know yet their use. | + | |
- | + | ||
- | * zotero_cache > use cache.sql | + | |
- | * zotero_www (this name is hardcoded) > see below | + | |
- | * zotero_www_test (this name is hardcoded) > see below | + | |
- | * zoterotest_ids > use ids.sql | + | |
- | * zoterotest_master > use master.sql and after coredata.sql | + | |
- | * zoterotest1 > use shard.sql and after trigger.sql | + | |
- | * zoterotest2 > use shard.sql and after trigger.sql | + | |
- | + | ||
- | There is no .sql files to set up zotero_www and zotero_www_test so use as describe on zotero.org/ | + | |
- | + | ||
- | <code mysql> | + | |
- | CREATE TABLE `users` ( | + | |
- | `userID` | + | |
- | `username` | + | |
- | `slug` | + | |
- | `password` | + | |
- | `email` | + | |
- | `openid` | + | |
- | `role` | + | |
- | ' | + | |
- | `resetValidationKey` char(40) | + | |
- | `resetValidationExp` int NULL, | + | |
- | `emailValidationKey` char(10) | + | |
- | `emailValidated` | + | |
- | `hasImage` | + | |
- | `lastUpdated` | + | |
- | `dateRegistered` | + | |
- | PRIMARY KEY (`userID`), | + | |
- | UNIQUE KEY (`username`), | + | |
- | UNIQUE KEY (`slug`), | + | |
- | UNIQUE KEY (`email`), | + | |
- | UNIQUE KEY (`resetValidationKey`) | + | |
- | ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin; | + | |
- | + | ||
- | </ | + | |
- | + | ||
- | You need to add specific user in Mysql | + | |
- | <code mysql> | + | |
- | + | ||
- | CREATE USER zoterotest0@localhost IDENTIFIED BY ' | + | |
- | CREATE USER zoterotest1@localhost IDENTIFIED BY ' | + | |
- | CREATE USER zoterotest2@localhost IDENTIFIED BY ' | + | |
- | CREATE USER zoterotest_ids@localhost IDENTIFIED BY ' | + | |
- | CREATE USER zoterotest_ids@localhost IDENTIFIED BY ' | + | |
- | CREATE USER zoterotest_www@localhost IDENTIFIED BY ' | + | |
- | + | ||
- | </ | + | |
- | + | ||
- | note: give acces on sync.zotero.org too | + | |
- | + | ||
- | Give Grant access | + | |
- | + | ||
- | <code mysql> | + | |
- | + | ||
- | GRANT SELECT ON zoterotest_master.* TO zoterotest1@localhost; | + | |
- | GRANT SELECT ON zoterotest_master.* TO zoterotest2@localhost; | + | |
- | GRANT SELECT, INSERT, UPDATE, DELETE, CREATE TEMPORARY TABLES ON zoterotest1.* TO zoterotest1@localhost; | + | |
- | GRANT SELECT, INSERT, UPDATE, DELETE, CREATE TEMPORARY TABLES ON zoterotest2.* TO zoterotest2@localhost; | + | |
- | GRANT SELECT, | + | |
- | GRANT SELECT, | + | |
- | GRANT SELECT ON zotero_www_test.* TO zoterotest_www@localhost; | + | |
- | </ | + |