Development environment
Main Page > Development > Development Environment
This page explains how you can configure and use a standard Linux system as an Archivematica development environment. The Archivematica development environment is available for developers that want the ability to customize or enhance their own Archivematica installation and/or contribute code back to the Archivematica project.
Setup
- Install ubuntu 12.04
- create a non-root user (with sudo privileges)
- log in as your new non-root user
- install archivematica storage service
sudo apt-get update sudo apt-get install python-software-properties sudo add-apt-repository ppa:archivematica/release sudo add-apt-repository ppa:archivematica/externals sudo apt-get update sudo apt-get upgrade sudo apt-get install archivematica-storage-service sudo rm /etc/nginx/sites-enabled/default sudo ln -s /etc/nginx/sites-available/storage /etc/nginx/sites-enabled/storage sudo ln -s /etc/uwsgi/apps-available/storage.ini /etc/uwsgi/apps-enabled/storage.ini sudo service uwsgi restart sudo service nginx restart
- Use git to checkout Archivematica code
git clone https://github.com/artefactual/archivematica.git
- Run the install and helper scripts.
cd archivematica
./dev-installer
- Answer Y to all prompts.
- Restart the machine. (this is to enable the upstart services).
cd archivematica
./dev-helper
- Answer Y to all prompts.
- Complete AtoM setup
- The database should already be created.
- http://localhost/atom
- https://www.qubit-toolkit.org/wiki/Installation#Open_Qubit.2C_ICA-AtoM.2C_or_DCB_in_your_web_browser
- Open the [dashboard http://localhost]
Configuring and Using Archivematica
These manuals contain information about the use and configuration of Archivematica:
https://www.archivematica.org/wiki/Administrator_manual
https://www.archivematica.org/wiki/User_Manual
Update
To pull down the latest code commits from the repository, and reset your dev install, navigate to the directory where Archivematica has been cloned:
- Change Directory to the archivematica git directory.
cd ~/archivematica/
- Check to see if you have any local changes that need to be stashed
git diff
- If there are local changes please stash or commit them. (Or you won't be able to update).
git stash
Update...
./dev-helper
"Would you like to git pull?" (y/N) y
"Would you like to update/install package requirements?" (y/N)
"Would you like to recreate the databases?" (y/N) y
- Note: this command will remove any processing sips/transfers.
"Would you like to erase the ElasticSearch indexes?" (y/N)
"Would you like to restart archivematica services?" (y/N) y
"Would you like to update sample data in /home/user/archivematica-sampledata?" (y/N)
"Would you like to export sample data from /home/user/archivematica-sampledata?" (y/N)
"Would you like to update AtoM and restart its atom-worker service?" (y/N) y
If you stashed changes, re-apply them with
git stash pop
Troubleshooting
- If it stalls during update "Would you like to update/install package requirements?" (y/N)
- Stop the script with CTRL + C
- Try installing the item it failed on on the command line. Ie.
sudo apt-get install postfix
- Restart the dev-helper "Would you like to update/install package requirements?"
- If you get this error error starting service:
sudo start archivematica-mcp-server
start: Unknown job: archivematica-mcp-server
- Then reboot the machine.
- If a SIP processing fails, it will move it to the 'failed' directory which is located:
/var/archivematica/sharedDirectory/watchedDirectories/failed
- if ArchivematicaServer freezes
sudo restart archivematica-mcp-server
sudo restart archivematica-mcp-client
- if ArchivematicaClient freezes (in terminal kill command)
sudo restart archivematica-mcp-client
- Updates to the Dashboard may require an Apache webserver restart:
sudo /etc/init.d/apache2 restart
- If you find a problem running the Dashboard and you want to get a detailed error log to report us, please switch it to debug mode following these instructions.
- MCP is currently logging to the /tmp/directory
- /tmp/archivematicaMCPClient-HOST.log
- /tmp/archivematicaMCPServer-HOST-DATE.log
- /tmp/archivematicaMCPServerPID