Difference between revisions of "Development environment"

From Archivematica
Jump to navigation Jump to search
Line 6: Line 6:
 
=Setup=
 
=Setup=
 
*Install ubuntu 12.04
 
*Install ubuntu 12.04
 +
*create a non-root user (with sudo privileges)
 +
*log in as your new non-root user
 +
*install archivematica storage service
 +
**<pre>
 +
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
 +
</pre>
 +
 +
 
*Use git to checkout Archivematica code
 
*Use git to checkout Archivematica code
**If you have commit access, use the private repository
 
**If you have read-only access, use the public [https://github.com/artefactual/archivematica GitHub repository]
 
 
<pre>git clone https://github.com/artefactual/archivematica.git</pre>
 
<pre>git clone https://github.com/artefactual/archivematica.git</pre>
 
  
 
*Run the install and helper scripts.  
 
*Run the install and helper scripts.  
Line 16: Line 32:
 
** <pre>./dev-installer</pre>
 
** <pre>./dev-installer</pre>
 
** Answer Y to all prompts.
 
** Answer Y to all prompts.
** <pre>./dev-helper</pre>
+
** Restart the machine. (this is to enable the upstart services).
** Answer Y to all prompts.
 
** Restart the machine.
 
 
** <pre>cd archivematica</pre>
 
** <pre>cd archivematica</pre>
 
** <pre>./dev-helper</pre>
 
** <pre>./dev-helper</pre>
 
** Answer Y to all prompts.
 
** Answer Y to all prompts.
** You may need to restart the services (see below for instructions)
 
 
** Complete AtoM setup
 
** Complete AtoM setup
 
*** The database should already be created.
 
*** The database should already be created.

Revision as of 13:43, 20 February 2014

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

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