<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.archivematica.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Scollazo</id>
	<title>Archivematica - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.archivematica.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Scollazo"/>
	<link rel="alternate" type="text/html" href="https://wiki.archivematica.org/Special:Contributions/Scollazo"/>
	<updated>2026-06-03T07:00:15Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.4</generator>
	<entry>
		<id>https://wiki.archivematica.org/index.php?title=Update_ElasticSearch&amp;diff=12912</id>
		<title>Update ElasticSearch</title>
		<link rel="alternate" type="text/html" href="https://wiki.archivematica.org/index.php?title=Update_ElasticSearch&amp;diff=12912"/>
		<updated>2019-03-01T02:37:00Z</updated>

		<summary type="html">&lt;p&gt;Scollazo: /* ElasticSearch update */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= ElasticSearch update =&lt;br /&gt;
&lt;br /&gt;
1. Backup elasticsearch data directory &lt;br /&gt;
&lt;br /&gt;
  sudo service elasticsearch stop&lt;br /&gt;
  sudo tar cfz var_lib_elasticsearch_$(date +%y%m%d).tgz  /var/lib/elasticsearch&lt;br /&gt;
  sudo service elasticsearch start&lt;br /&gt;
&lt;br /&gt;
2. Check that ES is up and running, and note the results:&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9200/_cat/indices?v&amp;quot;&lt;br /&gt;
  health status index     pri rep docs.count docs.deleted store.size pri.store.size &lt;br /&gt;
  yellow open   aips        5   1      24816            1    175.4mb        175.4mb &lt;br /&gt;
  yellow open   transfers   5   1          0            0       720b           720b &lt;br /&gt;
&lt;br /&gt;
Check also if there are any configured snapshot:&lt;br /&gt;
&lt;br /&gt;
  curl -XGET &amp;quot;localhost:9200/_snapshot/_all?pretty&amp;quot;&lt;br /&gt;
&lt;br /&gt;
3. Remove Snapshots&lt;br /&gt;
&lt;br /&gt;
If there are any snapshot (step 1), please remove it:&lt;br /&gt;
&lt;br /&gt;
  curl -XDELETE &amp;quot;localhost:9200/_snapshot/backup-repo?pretty&amp;quot;&lt;br /&gt;
&lt;br /&gt;
4. Stop elasticsearch service&lt;br /&gt;
&lt;br /&gt;
  sudo service elasticsearch stop&lt;br /&gt;
&lt;br /&gt;
5. Check wich elasticsearch version is installed&lt;br /&gt;
&lt;br /&gt;
  Redhat/Centos: rpm -q elasticsearch&lt;br /&gt;
  Ubuntu: dpkg -l elasticsearch&lt;br /&gt;
&lt;br /&gt;
6. Download a temporary copy of elasticsearch (same version than intalled)&lt;br /&gt;
&lt;br /&gt;
  wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.6.tar.gz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
7. Uncompress the downloaded tar.gz and go into it&lt;br /&gt;
&lt;br /&gt;
  tar zxvf elasticsearch-1.7.6.tar.gz&lt;br /&gt;
  cd elasticsearch-1.7.6&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
8. Copy data from system wide installed elasticsearch, ot the temporary copy&lt;br /&gt;
&lt;br /&gt;
  sudo cp /var/lib/elasticsearch data -rf&lt;br /&gt;
&lt;br /&gt;
9. Adjust file permissions&lt;br /&gt;
&lt;br /&gt;
  sudo chown &amp;lt;your user&amp;gt;:&amp;lt;your group&amp;gt; data -R&lt;br /&gt;
&lt;br /&gt;
10. Launch the temporary elasticsearch instance&lt;br /&gt;
&lt;br /&gt;
  ES_JAVA_OPTS=&amp;quot;-Xms2g -Xmx2g&amp;quot; ./bin/elasticsearch -d -p elastic-tmp.pid -Des.http.port=9500  -Des.discovery.zen.ping.multicast.enabled=false&lt;br /&gt;
&lt;br /&gt;
11. Verify that the indexes were properly copied. Use the port specified in the previous command:&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9500/_cat/indices?v&amp;quot;&lt;br /&gt;
&lt;br /&gt;
12. Remove elasticsearch 1.7.6 and it's files&lt;br /&gt;
&lt;br /&gt;
  Redhat: sudo yum remove elasticsearch&lt;br /&gt;
  Ubuntu: sudo apt-get remove --purge elasticsearch&lt;br /&gt;
  sudo mv /var/lib/elasticsearch /var/lib/elasticsearch-1.7.6&lt;br /&gt;
  sudo mv /etc/elasticsearch /etc/elasticsearch-1.7.6&lt;br /&gt;
&lt;br /&gt;
13. Upgrade archivematica and install elasticsearch 6&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -i hosts singlenode.yml --tags=elasticsearch,archivematica-src&lt;br /&gt;
&lt;br /&gt;
14. Configure ElasticSearch 6 to handle reindex from the temporary es &lt;br /&gt;
&lt;br /&gt;
  echo 'reindex.remote.whitelist: localhost:9500' | sudo tee -a /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
  sudo service elasticsearch restart&lt;br /&gt;
&lt;br /&gt;
15. Migrate the indexes&lt;br /&gt;
&lt;br /&gt;
  sudo -u archivematica bash -c &amp;quot; \&lt;br /&gt;
  set -a -e -x&lt;br /&gt;
  source /etc/default/archivematica-dashboard || \&lt;br /&gt;
  source /etc/sysconfig/archivematica-dashboard \&lt;br /&gt;
        || (echo 'Environment file not found'; exit 1)&lt;br /&gt;
  cd /usr/share/archivematica/dashboard&lt;br /&gt;
  /usr/share/archivematica/virtualenvs/archivematica-dashboard/bin/python manage.py reindex_from_remote_cluster -t 60 -s 1 http://localhost:9500&lt;br /&gt;
  &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
The command should finish with&lt;br /&gt;
  &lt;br /&gt;
  All reindex requests ended successfully!&lt;br /&gt;
&lt;br /&gt;
Else, you might need to tweak the timeout (-t) and size (-s) parameters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
16. Verify that the new indexes were created and populated:&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9200/_cat/indices?v&amp;quot; &lt;br /&gt;
  health status index         uuid                   pri rep docs.count docs.deleted store.size pri.store.size&lt;br /&gt;
  yellow open   transferfiles jlu2d2yZQpWwpKKT1ZzMAA   5   1          0            0      1.1kb          1.1kb&lt;br /&gt;
  yellow open   aips          VAvONAByRBuVcWBYhlhUmw   5   1        116            0     66.9mb         66.9mb&lt;br /&gt;
  yellow open   transfers     OhfLVBzuRqCNUYRCSSTidg   5   1          0            0      1.1kb          1.1kb&lt;br /&gt;
  yellow open   aipfiles      clX1gcqnT9CTdwTm8jeatw   5   1      24700            0     70.6mb         70.6mb&lt;br /&gt;
&lt;br /&gt;
You should have 4 indexes now, and the sum of the aips and aipfiles docs.count column should be equal to the doc.count for the aip index in ElasticSearch 1.7.6. The same happens with the transfers/transferfiles indexes.&lt;br /&gt;
&lt;br /&gt;
17. Stop the temporary elasticsearch service&lt;br /&gt;
&lt;br /&gt;
  kill $(cat ~/elasticsearch-1.7.6/elastic-tmp.pid)&lt;br /&gt;
&lt;br /&gt;
18. Restart all archivematica services&lt;br /&gt;
  &lt;br /&gt;
  sudo service archivematica-mcp-server restart&lt;br /&gt;
  sudo service archivematica-mcp-client restart&lt;br /&gt;
  sudo service archivematica-dashboard restart&lt;br /&gt;
  sudo service archivematica-storage-service restart&lt;/div&gt;</summary>
		<author><name>Scollazo</name></author>
	</entry>
	<entry>
		<id>https://wiki.archivematica.org/index.php?title=Update_ElasticSearch&amp;diff=12911</id>
		<title>Update ElasticSearch</title>
		<link rel="alternate" type="text/html" href="https://wiki.archivematica.org/index.php?title=Update_ElasticSearch&amp;diff=12911"/>
		<updated>2019-03-01T02:14:14Z</updated>

		<summary type="html">&lt;p&gt;Scollazo: /* ElasticSearch update */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= ElasticSearch update =&lt;br /&gt;
&lt;br /&gt;
1. Backup elasticsearch data directory &lt;br /&gt;
&lt;br /&gt;
  sudo service elasticsearch stop&lt;br /&gt;
  sudo tar cfz var_lib_elasticsearch_$(date +%y%m%d).tgz  /var/lib/elasticsearch&lt;br /&gt;
  sudo service elasticsearch start&lt;br /&gt;
&lt;br /&gt;
2. Check that ES is up and running, and note the results:&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9200/_cat/indices?v&amp;quot;&lt;br /&gt;
  health status index     pri rep docs.count docs.deleted store.size pri.store.size &lt;br /&gt;
  yellow open   aips        5   1      24816            1    175.4mb        175.4mb &lt;br /&gt;
  yellow open   transfers   5   1          0            0       720b           720b &lt;br /&gt;
&lt;br /&gt;
Check also if there are any configured snapshot:&lt;br /&gt;
&lt;br /&gt;
  curl -XGET &amp;quot;localhost:9200/_snapshot/_all?pretty&amp;quot;&lt;br /&gt;
&lt;br /&gt;
3. Remove Snapshots&lt;br /&gt;
&lt;br /&gt;
If there are any snapshot (step 1), please remove it:&lt;br /&gt;
&lt;br /&gt;
  curl -XDELETE &amp;quot;localhost:9200/_snapshot/backup-repo?pretty&amp;quot;&lt;br /&gt;
&lt;br /&gt;
4. Stop elasticsearch service&lt;br /&gt;
&lt;br /&gt;
  sudo service elasticsearch stop&lt;br /&gt;
&lt;br /&gt;
5. Check wich elasticsearch version is installed&lt;br /&gt;
&lt;br /&gt;
  Redhat/Centos: rpm -q elasticsearch&lt;br /&gt;
  Ubuntu: dpkg -l elasticsearch&lt;br /&gt;
&lt;br /&gt;
6. Download a temporary copy of elasticsearch (same version than intalled)&lt;br /&gt;
&lt;br /&gt;
  wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.5.tar.gz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
7. Uncompress the downloaded tar.gz and go into it&lt;br /&gt;
&lt;br /&gt;
  tar zxvf elasticsearch-1.7.5.tar.gz&lt;br /&gt;
  cd elasticsearch-1.7.5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
8. Copy data from system wide installed elasticsearch, ot the temporary copy&lt;br /&gt;
&lt;br /&gt;
  sudo cp /var/lib/elasticsearch data -rf&lt;br /&gt;
&lt;br /&gt;
9. Adjust file permissions&lt;br /&gt;
&lt;br /&gt;
  sudo chown &amp;lt;your user&amp;gt;:&amp;lt;your group&amp;gt; data -R&lt;br /&gt;
&lt;br /&gt;
10. Launch the temporary elasticsearch instance&lt;br /&gt;
&lt;br /&gt;
  ES_JAVA_OPTS=&amp;quot;-Xms2g -Xmx2g&amp;quot; ./bin/elasticsearch -d -p elastic-tmp.pid -Des.http.port=9500  -Des.discovery.zen.ping.multicast.enabled=false&lt;br /&gt;
&lt;br /&gt;
11. Verify that the indexes were properly copied. Use the port specified in the previous command:&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9500/_cat/indices?v&amp;quot;&lt;br /&gt;
&lt;br /&gt;
12. Remove elasticsearch 1.7.5 and it's files&lt;br /&gt;
&lt;br /&gt;
  Redhat: sudo yum remove elasticsearch&lt;br /&gt;
  Ubuntu: sudo apt-get remove --purge elasticsearch&lt;br /&gt;
  sudo mv /var/lib/elasticsearch /var/lib/elasticsearch-1.7.5&lt;br /&gt;
  sudo mv /etc/elasticsearch /etc/elasticsearch-1.7.5&lt;br /&gt;
&lt;br /&gt;
13. Upgrade archivematica and install elasticsearch 6&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -i hosts singlenode.yml --tags=elasticsearch,archivematica-src&lt;br /&gt;
&lt;br /&gt;
14. Configure ElasticSearch 6 to handle reindex from the temporary es &lt;br /&gt;
&lt;br /&gt;
  echo 'reindex.remote.whitelist: localhost:9500' | sudo tee -a /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
  sudo service elasticsearch restart&lt;br /&gt;
&lt;br /&gt;
15. Migrate the indexes&lt;br /&gt;
&lt;br /&gt;
  sudo -u archivematica bash -c &amp;quot; \&lt;br /&gt;
  set -a -e -x&lt;br /&gt;
  source /etc/default/archivematica-dashboard || \&lt;br /&gt;
  source /etc/sysconfig/archivematica-dashboard \&lt;br /&gt;
        || (echo 'Environment file not found'; exit 1)&lt;br /&gt;
  cd /usr/share/archivematica/dashboard&lt;br /&gt;
  /usr/share/archivematica/virtualenvs/archivematica-dashboard/bin/python manage.py reindex_from_remote_cluster -t 60 -s 10 http://localhost:9500&lt;br /&gt;
  &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
The command should finish with&lt;br /&gt;
  &lt;br /&gt;
  All reindex requests ended successfully!&lt;br /&gt;
&lt;br /&gt;
Else, you might need to tweak the timeout (-t) and size (-s) parameters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
16. Verify that the new indexes were created and populated:&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9200/_cat/indices?v&amp;quot; &lt;br /&gt;
  health status index         uuid                   pri rep docs.count docs.deleted store.size pri.store.size&lt;br /&gt;
  yellow open   transferfiles jlu2d2yZQpWwpKKT1ZzMAA   5   1          0            0      1.1kb          1.1kb&lt;br /&gt;
  yellow open   aips          VAvONAByRBuVcWBYhlhUmw   5   1        116            0     66.9mb         66.9mb&lt;br /&gt;
  yellow open   transfers     OhfLVBzuRqCNUYRCSSTidg   5   1          0            0      1.1kb          1.1kb&lt;br /&gt;
  yellow open   aipfiles      clX1gcqnT9CTdwTm8jeatw   5   1      24700            0     70.6mb         70.6mb&lt;br /&gt;
&lt;br /&gt;
You should have 4 indexes now, and the sum of the aips and aipfiles docs.count column should be equal to the doc.count for the aip index in ElasticSearch 1.7.5. The same happens with the transfers/transferfiles indexes.&lt;br /&gt;
&lt;br /&gt;
17. Stop the temporary elasticsearch service&lt;br /&gt;
&lt;br /&gt;
  kill $(cat ~/elasticsearch-1.7.5/elastic-tmp.pid)&lt;br /&gt;
&lt;br /&gt;
18. Restart all archivematica services&lt;br /&gt;
  &lt;br /&gt;
  sudo service archivematica-mcp-server restart&lt;br /&gt;
  sudo service archivematica-mcp-client restart&lt;br /&gt;
  sudo service archivematica-dashboard restart&lt;br /&gt;
  sudo service archivematica-storage-service restart&lt;/div&gt;</summary>
		<author><name>Scollazo</name></author>
	</entry>
	<entry>
		<id>https://wiki.archivematica.org/index.php?title=Update_ElasticSearch&amp;diff=12910</id>
		<title>Update ElasticSearch</title>
		<link rel="alternate" type="text/html" href="https://wiki.archivematica.org/index.php?title=Update_ElasticSearch&amp;diff=12910"/>
		<updated>2019-03-01T02:13:03Z</updated>

		<summary type="html">&lt;p&gt;Scollazo: /* ElasticSearch update */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= ElasticSearch update =&lt;br /&gt;
&lt;br /&gt;
1. Backup elasticsearch data directory &lt;br /&gt;
&lt;br /&gt;
  sudo service elasticsearch stop&lt;br /&gt;
  sudo tar cfz var_lib_elasticsearch_$(date +%y%m%d).tgz  /var/lib/elasticsearch&lt;br /&gt;
  sudo service elasticsearch start&lt;br /&gt;
&lt;br /&gt;
2. Check that ES is up and running, and note the results:&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9200/_cat/indices?v&amp;quot;&lt;br /&gt;
  health status index     pri rep docs.count docs.deleted store.size pri.store.size &lt;br /&gt;
  yellow open   aips        5   1      24816            1    175.4mb        175.4mb &lt;br /&gt;
  yellow open   transfers   5   1          0            0       720b           720b &lt;br /&gt;
&lt;br /&gt;
Check also if there are any configured snapshot:&lt;br /&gt;
&lt;br /&gt;
  curl -XGET &amp;quot;localhost:9200/_snapshot/_all?pretty&amp;quot;&lt;br /&gt;
&lt;br /&gt;
3. Remove Snapshots&lt;br /&gt;
&lt;br /&gt;
If there are any snapshot (step 1), please remove it:&lt;br /&gt;
&lt;br /&gt;
  curl -XDELETE &amp;quot;localhost:9200/_snapshot/backup-repo?pretty&amp;quot;&lt;br /&gt;
&lt;br /&gt;
4. Stop elasticsearch service&lt;br /&gt;
&lt;br /&gt;
  sudo service elasticsearch stop&lt;br /&gt;
&lt;br /&gt;
5. Check wich elasticsearch version is installed&lt;br /&gt;
&lt;br /&gt;
  Redhat/Centos: rpm -q elasticsearch&lt;br /&gt;
  Ubuntu: dpkg -l elasticsearch&lt;br /&gt;
&lt;br /&gt;
6. Download a temporary copy of elasticsearch (same version than intalled)&lt;br /&gt;
&lt;br /&gt;
  wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.5.tar.gz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
7. Uncompress the downloaded tar.gz and go into it&lt;br /&gt;
&lt;br /&gt;
  tar zxvf elasticsearch-1.7.5.tar.gz&lt;br /&gt;
  cd elasticsearch-1.7.5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
8. Copy data from system wide installed elasticsearch, ot the temporary copy&lt;br /&gt;
&lt;br /&gt;
  sudo cp /var/lib/elasticsearch data -rf&lt;br /&gt;
&lt;br /&gt;
9. Adjust file permissions&lt;br /&gt;
&lt;br /&gt;
  sudo chown &amp;lt;your user&amp;gt;:&amp;lt;your group&amp;gt; data -R&lt;br /&gt;
&lt;br /&gt;
10. Launch the temporary elasticsearch instance&lt;br /&gt;
&lt;br /&gt;
  ES_JAVA_OPTS=&amp;quot;-Xms2g -Xmx2g&amp;quot; ./bin/elasticsearch -d -p elastic-tmp.pid -Des.http.port=9500&lt;br /&gt;
&lt;br /&gt;
11. Verify that the indexes were properly copied. Use the port specified in the previous command:&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9500/_cat/indices?v&amp;quot;&lt;br /&gt;
&lt;br /&gt;
12. Remove elasticsearch 1.7.5 and it's files&lt;br /&gt;
&lt;br /&gt;
  Redhat: sudo yum remove elasticsearch&lt;br /&gt;
  Ubuntu: sudo apt-get remove --purge elasticsearch&lt;br /&gt;
  sudo mv /var/lib/elasticsearch /var/lib/elasticsearch-1.7.5&lt;br /&gt;
  sudo mv /etc/elasticsearch /etc/elasticsearch-1.7.5&lt;br /&gt;
&lt;br /&gt;
13. Upgrade archivematica and install elasticsearch 6&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -i hosts singlenode.yml --tags=elasticsearch,archivematica-src&lt;br /&gt;
&lt;br /&gt;
14. Configure ElasticSearch 6 to handle reindex from the temporary es &lt;br /&gt;
&lt;br /&gt;
  echo 'reindex.remote.whitelist: localhost:9500' | sudo tee -a /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
  sudo service elasticsearch restart&lt;br /&gt;
&lt;br /&gt;
15. Migrate the indexes&lt;br /&gt;
&lt;br /&gt;
  sudo -u archivematica bash -c &amp;quot; \&lt;br /&gt;
  set -a -e -x&lt;br /&gt;
  source /etc/default/archivematica-dashboard || \&lt;br /&gt;
  source /etc/sysconfig/archivematica-dashboard \&lt;br /&gt;
        || (echo 'Environment file not found'; exit 1)&lt;br /&gt;
  cd /usr/share/archivematica/dashboard&lt;br /&gt;
  /usr/share/archivematica/virtualenvs/archivematica-dashboard/bin/python manage.py reindex_from_remote_cluster -t 60 -s 10 http://localhost:9500&lt;br /&gt;
  &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
The command should finish with&lt;br /&gt;
  &lt;br /&gt;
  All reindex requests ended successfully!&lt;br /&gt;
&lt;br /&gt;
Else, you might need to tweak the timeout (-t) and size (-s) parameters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
16. Verify that the new indexes were created and populated:&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9200/_cat/indices?v&amp;quot; &lt;br /&gt;
  health status index         uuid                   pri rep docs.count docs.deleted store.size pri.store.size&lt;br /&gt;
  yellow open   transferfiles jlu2d2yZQpWwpKKT1ZzMAA   5   1          0            0      1.1kb          1.1kb&lt;br /&gt;
  yellow open   aips          VAvONAByRBuVcWBYhlhUmw   5   1        116            0     66.9mb         66.9mb&lt;br /&gt;
  yellow open   transfers     OhfLVBzuRqCNUYRCSSTidg   5   1          0            0      1.1kb          1.1kb&lt;br /&gt;
  yellow open   aipfiles      clX1gcqnT9CTdwTm8jeatw   5   1      24700            0     70.6mb         70.6mb&lt;br /&gt;
&lt;br /&gt;
You should have 4 indexes now, and the sum of the aips and aipfiles docs.count column should be equal to the doc.count for the aip index in ElasticSearch 1.7.5. The same happens with the transfers/transferfiles indexes.&lt;br /&gt;
&lt;br /&gt;
17. Stop the temporary elasticsearch service&lt;br /&gt;
&lt;br /&gt;
  kill $(cat ~/elasticsearch-1.7.5/elastic-tmp.pid)&lt;br /&gt;
&lt;br /&gt;
18. Restart all archivematica services&lt;br /&gt;
  &lt;br /&gt;
  sudo service archivematica-mcp-server restart&lt;br /&gt;
  sudo service archivematica-mcp-client restart&lt;br /&gt;
  sudo service archivematica-dashboard restart&lt;br /&gt;
  sudo service archivematica-storage-service restart&lt;/div&gt;</summary>
		<author><name>Scollazo</name></author>
	</entry>
	<entry>
		<id>https://wiki.archivematica.org/index.php?title=Update_ElasticSearch_snapshots&amp;diff=12906</id>
		<title>Update ElasticSearch snapshots</title>
		<link rel="alternate" type="text/html" href="https://wiki.archivematica.org/index.php?title=Update_ElasticSearch_snapshots&amp;diff=12906"/>
		<updated>2019-02-27T14:29:13Z</updated>

		<summary type="html">&lt;p&gt;Scollazo: /* ElasticSearch update */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= ElasticSearch update =&lt;br /&gt;
&lt;br /&gt;
1. Check that ES is up and running, and note the results:&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9200/_cat/indices?v&amp;quot;&lt;br /&gt;
  health status index     pri rep docs.count docs.deleted store.size pri.store.size &lt;br /&gt;
  yellow open   aips        5   1      24816            1    175.4mb        175.4mb &lt;br /&gt;
  yellow open   transfers   5   1          0            0       720b           720b &lt;br /&gt;
&lt;br /&gt;
2. Create an ElasticSearch backup (they are called snapshots ) using the following commands:&lt;br /&gt;
&lt;br /&gt;
a. Remove and recreate the folder that stores the backup&lt;br /&gt;
&lt;br /&gt;
  sudo rm -rf /var/lib/elasticsearch/backup-repo/&lt;br /&gt;
  sudo mkdir -p /var/lib/elasticsearch/backup-repo/&lt;br /&gt;
  sudo chown elasticsearch:elasticsearch /var/lib/elasticsearch/backup-repo/&lt;br /&gt;
&lt;br /&gt;
b. Allow elasticsearch to write files to the backup&lt;br /&gt;
&lt;br /&gt;
  echo 'path.repo: [&amp;quot;/var/lib/elasticsearch/backup-repo&amp;quot;]' |sudo tee -a /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
&lt;br /&gt;
c. Restart ElasticSearch and wait for it to start&lt;br /&gt;
&lt;br /&gt;
  sudo service elasticsearch restart&lt;br /&gt;
  sleep 60s&lt;br /&gt;
&lt;br /&gt;
d. Configure the ES backup&lt;br /&gt;
  curl -XPUT &amp;quot;localhost:9200/_snapshot/backup-repo&amp;quot; -H 'Content-Type: application/json' -d \&lt;br /&gt;
    '{&lt;br /&gt;
         &amp;quot;type&amp;quot;: &amp;quot;fs&amp;quot;,&lt;br /&gt;
         &amp;quot;settings&amp;quot;: {&lt;br /&gt;
         &amp;quot;location&amp;quot;: &amp;quot;./&amp;quot;,&lt;br /&gt;
         &amp;quot;compress&amp;quot;: true&lt;br /&gt;
         }&lt;br /&gt;
     }'&lt;br /&gt;
&lt;br /&gt;
e. Take the actual backup, and copy it to a safe place&lt;br /&gt;
  curl -X PUT &amp;quot;localhost:9200/_snapshot/backup-repo/am_indexes_backup?wait_for_completion=true&amp;quot;&lt;br /&gt;
  cp /var/lib/elasticsearch/backup-repo ~/elasticsearch-backup -rf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Check wich elasticsearch version is installed&lt;br /&gt;
&lt;br /&gt;
  Redhat/Centos: rpm -qa | grep elasticsearch&lt;br /&gt;
  Ubuntu: dpkg -l | grep elasticsearch&lt;br /&gt;
&lt;br /&gt;
4. Download a temporary copy of elasticsearch (same version than intalled)&lt;br /&gt;
&lt;br /&gt;
  wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.6.tar.gz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. Uncompress the downloaded tar.gz and go into it&lt;br /&gt;
&lt;br /&gt;
  tar zxvf elasticsearch-1.7.5.tar.gz&lt;br /&gt;
  cd elasticsearch-1.7.5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6. Copy the backup you just created &lt;br /&gt;
   &lt;br /&gt;
  mkdir -p data&lt;br /&gt;
  cp /var/lib/elasticsearch/backup-repo data -rf # Use sudo if needed&lt;br /&gt;
&lt;br /&gt;
7. Adjust file permissions&lt;br /&gt;
&lt;br /&gt;
  sudo chown &amp;lt;your user&amp;gt;:&amp;lt;your group&amp;gt; data -R&lt;br /&gt;
&lt;br /&gt;
8. Open other shell, and launch the temporary elasticsearch instance&lt;br /&gt;
&lt;br /&gt;
  cd elasticsearch-1.7.5&lt;br /&gt;
  ES_JAVA_OPTS=&amp;quot;-Xms2g -Xmx2g&amp;quot; ./bin/elasticsearch -p elastic-tmp.pid -Des.http.port=9500 -Des.path.repo=data/backup-repo&lt;br /&gt;
&lt;br /&gt;
9. Tell the temporary ElasticSearch instance about the backup files, and restore them:&lt;br /&gt;
&lt;br /&gt;
  curl -XPUT &amp;quot;localhost:9500/_snapshot/backup-repo&amp;quot; -H 'Content-Type: application/json' -d \&lt;br /&gt;
 '{&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;fs&amp;quot;,&lt;br /&gt;
    &amp;quot;settings&amp;quot;: {&lt;br /&gt;
    &amp;quot;location&amp;quot;: &amp;quot;./&amp;quot;,&lt;br /&gt;
     &amp;quot;compress&amp;quot;: true&lt;br /&gt;
     }&lt;br /&gt;
  }'&lt;br /&gt;
  curl -X POST &amp;quot;localhost:9500/_snapshot/backup-repo/am_indexes_backup/_restore?wait_for_completion=true&amp;quot;&lt;br /&gt;
&lt;br /&gt;
10. Verify that the temporary ElasticSearch service has the same content than the system one:&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9500/_cat/indices?v&amp;quot;&lt;br /&gt;
  health status index     pri rep docs.count docs.deleted store.size pri.store.size &lt;br /&gt;
  yellow open   aips        5   1      24816            1    175.4mb        175.4mb &lt;br /&gt;
  yellow open   transfers   5   1          0            0       720b           720b &lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
11. Remove system's ElasticSearch 1.7.5 and it's files&lt;br /&gt;
&lt;br /&gt;
  Redhat: sudo yum remove elasticsearch&lt;br /&gt;
  Ubuntu: sudo apt-get remove --purge elasticsearch&lt;br /&gt;
  sudo mv /var/lib/elasticsearch /var/lib/elasticsearch-1.7.5&lt;br /&gt;
  sudo mv /etc/elasticsearch /etc/elasticsearch-1.7.5&lt;br /&gt;
&lt;br /&gt;
12. Upgrade archivematica and install elasticsearch 6&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -i hosts singlenode.yml --tags=elasticsearch,archivematica-src&lt;br /&gt;
&lt;br /&gt;
13. Configure ElasticSearch 6 to handle reindex from the temporary es &lt;br /&gt;
&lt;br /&gt;
  echo 'reindex.remote.whitelist: localhost:9500' | sudo tee -a /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
  sudo service elasticsearch restart&lt;br /&gt;
&lt;br /&gt;
14. Migrate the indexes&lt;br /&gt;
&lt;br /&gt;
  sudo -u archivematica bash -c &amp;quot; \&lt;br /&gt;
  set -a -e -x&lt;br /&gt;
  source /etc/default/archivematica-dashboard || \&lt;br /&gt;
  source /etc/sysconfig/archivematica-dashboard \&lt;br /&gt;
        || (echo 'Environment file not found'; exit 1)&lt;br /&gt;
  cd /usr/share/archivematica/dashboard&lt;br /&gt;
  /usr/share/archivematica/virtualenvs/archivematica-dashboard/bin/python manage.py reindex_from_remote_cluster -t 60 -s 1 http://localhost:9500&lt;br /&gt;
  &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
The command should finish with&lt;br /&gt;
  &lt;br /&gt;
  All reindex requests ended successfully!&lt;br /&gt;
&lt;br /&gt;
Else, you might need to tweak the timeout (-t) and size (-s) parameters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
15. Verify that the new indexes were created and populated:&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9200/_cat/indices?v&amp;quot; &lt;br /&gt;
  health status index         uuid                   pri rep docs.count docs.deleted store.size pri.store.size&lt;br /&gt;
  yellow open   transferfiles jlu2d2yZQpWwpKKT1ZzMAA   5   1          0            0      1.1kb          1.1kb&lt;br /&gt;
  yellow open   aips          VAvONAByRBuVcWBYhlhUmw   5   1        116            0     66.9mb         66.9mb&lt;br /&gt;
  yellow open   transfers     OhfLVBzuRqCNUYRCSSTidg   5   1          0            0      1.1kb          1.1kb&lt;br /&gt;
  yellow open   aipfiles      clX1gcqnT9CTdwTm8jeatw   5   1      24700            0     70.6mb         70.6mb&lt;br /&gt;
&lt;br /&gt;
You should have 4 indexes now, and the sum of the aips and aipfiles docs.count column should be equal to the doc.count for the aip index in ElasticSearch 1.7.5. The same happens with the transfers/transferfiles indexes.&lt;br /&gt;
&lt;br /&gt;
16. Stop the temporary elasticsearch service&lt;br /&gt;
&lt;br /&gt;
  kill $(cat ~/elasticsearch-1.7.5/elastic-tmp.pid)&lt;br /&gt;
&lt;br /&gt;
17. Restart all archivematica services&lt;br /&gt;
  &lt;br /&gt;
  service archivematica-dashboard restart&lt;br /&gt;
  service archivematica-mcp-server restart&lt;br /&gt;
  service archivematica-mcp-client restart&lt;br /&gt;
  service archivematica-storage-service restart&lt;/div&gt;</summary>
		<author><name>Scollazo</name></author>
	</entry>
	<entry>
		<id>https://wiki.archivematica.org/index.php?title=Update_ElasticSearch_snapshots&amp;diff=12905</id>
		<title>Update ElasticSearch snapshots</title>
		<link rel="alternate" type="text/html" href="https://wiki.archivematica.org/index.php?title=Update_ElasticSearch_snapshots&amp;diff=12905"/>
		<updated>2019-02-27T14:18:22Z</updated>

		<summary type="html">&lt;p&gt;Scollazo: /* ElasticSearch update */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= ElasticSearch update =&lt;br /&gt;
&lt;br /&gt;
1. Check that ES is up and running, and note the results:&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9200/_cat/indices?v&amp;quot;&lt;br /&gt;
  health status index     pri rep docs.count docs.deleted store.size pri.store.size &lt;br /&gt;
  yellow open   aips        5   1      24816            1    175.4mb        175.4mb &lt;br /&gt;
  yellow open   transfers   5   1          0            0       720b           720b &lt;br /&gt;
&lt;br /&gt;
2. Create an ElasticSearch backup (they are called snapshots ) using the following commands:&lt;br /&gt;
&lt;br /&gt;
a. Remove and recreate the folder that stores the backup&lt;br /&gt;
&lt;br /&gt;
  sudo rm -rf /var/lib/elasticsearch/backup-repo/&lt;br /&gt;
  sudo mkdir -p /var/lib/elasticsearch/backup-repo/&lt;br /&gt;
  sudo chown elasticsearch:elasticsearch /var/lib/elasticsearch/backup-repo/&lt;br /&gt;
&lt;br /&gt;
b. Allow elasticsearch to write files to the backup&lt;br /&gt;
&lt;br /&gt;
  echo 'path.repo: [&amp;quot;/var/lib/elasticsearch/backup-repo&amp;quot;]' |sudo tee -a /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
&lt;br /&gt;
c. Restart ElasticSearch and wait for it to start&lt;br /&gt;
&lt;br /&gt;
  sudo service elasticsearch restart&lt;br /&gt;
  sleep 60s&lt;br /&gt;
&lt;br /&gt;
d. Configure the ES backup&lt;br /&gt;
  curl -XPUT &amp;quot;localhost:9200/_snapshot/backup-repo&amp;quot; -H 'Content-Type: application/json' -d \&lt;br /&gt;
    '{&lt;br /&gt;
         &amp;quot;type&amp;quot;: &amp;quot;fs&amp;quot;,&lt;br /&gt;
         &amp;quot;settings&amp;quot;: {&lt;br /&gt;
         &amp;quot;location&amp;quot;: &amp;quot;./&amp;quot;,&lt;br /&gt;
         &amp;quot;compress&amp;quot;: true&lt;br /&gt;
         }&lt;br /&gt;
     }'&lt;br /&gt;
&lt;br /&gt;
e. Take the actual backup, and copy it to a safe place&lt;br /&gt;
  curl -X PUT &amp;quot;localhost:9200/_snapshot/backup-repo/am_indexes_backup?wait_for_completion=true&amp;quot;&lt;br /&gt;
  cp /var/lib/elasticsearch/backup-repo ~/elasticsearch-backup -rf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Check wich elasticsearch version is installed&lt;br /&gt;
&lt;br /&gt;
  Redhat/Centos: rpm -qa | grep elasticsearch&lt;br /&gt;
  Ubuntu: dpkg -l | grep elasticsearch&lt;br /&gt;
&lt;br /&gt;
4. Download a temporary copy of elasticsearch (same version than intalled)&lt;br /&gt;
&lt;br /&gt;
  wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.6.tar.gz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. Uncompress the downloaded tar.gz and go into it&lt;br /&gt;
&lt;br /&gt;
  tar zxvf elasticsearch-1.7.5.tar.gz&lt;br /&gt;
  cd elasticsearch-1.7.5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6. Copy the backup you just created &lt;br /&gt;
   &lt;br /&gt;
  mkdir -p data&lt;br /&gt;
  cp /var/lib/elasticsearch/backup-repo data -rf # Use sudo if needed&lt;br /&gt;
&lt;br /&gt;
7. Adjust file permissions&lt;br /&gt;
&lt;br /&gt;
  sudo chown &amp;lt;your user&amp;gt;:&amp;lt;your group&amp;gt; data -R&lt;br /&gt;
&lt;br /&gt;
8. Open other shell, and launch the temporary elasticsearch instance&lt;br /&gt;
&lt;br /&gt;
  cd elasticsearch-1.7.5&lt;br /&gt;
  ES_JAVA_OPTS=&amp;quot;-Xms2g -Xmx2g&amp;quot; ./bin/elasticsearch -p elastic-tmp.pid -Des.http.port=9500 -Des.path.repo=data/backup-repo&lt;br /&gt;
&lt;br /&gt;
9. Tell the temporary ElasticSearch instance about the backup files, and restore them:&lt;br /&gt;
&lt;br /&gt;
  curl -XPUT &amp;quot;localhost:9500/_snapshot/backup-repo&amp;quot; -H 'Content-Type: application/json' -d \&lt;br /&gt;
 '{&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;fs&amp;quot;,&lt;br /&gt;
    &amp;quot;settings&amp;quot;: {&lt;br /&gt;
    &amp;quot;location&amp;quot;: &amp;quot;./&amp;quot;,&lt;br /&gt;
     &amp;quot;compress&amp;quot;: true&lt;br /&gt;
     }&lt;br /&gt;
  }'&lt;br /&gt;
  curl -X POST &amp;quot;localhost:9500/_snapshot/backup-repo/am_indexes_backup/_restore?wait_for_completion=true&amp;quot;&lt;br /&gt;
&lt;br /&gt;
10. Verify that the temporary ElasticSearch service has the same content than the system one:&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9500/_cat/indices?v&amp;quot;&lt;br /&gt;
  health status index     pri rep docs.count docs.deleted store.size pri.store.size &lt;br /&gt;
  yellow open   aips        5   1      24816            1    175.4mb        175.4mb &lt;br /&gt;
  yellow open   transfers   5   1          0            0       720b           720b &lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
11. Remove system's ElasticSearch 1.7.5 and it's files&lt;br /&gt;
&lt;br /&gt;
  Redhat: sudo yum remove elasticsearch&lt;br /&gt;
  Ubuntu: sudo apt-get remove --purge elasticsearch&lt;br /&gt;
  sudo mv /var/lib/elasticsearch /var/lib/elasticsearch-1.7.5&lt;br /&gt;
  sudo mv /etc/elasticsearch /etc/elasticsearch-1.7.5&lt;br /&gt;
&lt;br /&gt;
12. Upgrade archivematica and install elasticsearch 6&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -i hosts singlenode.yml --tags=elasticsearch,archivematica-src&lt;br /&gt;
&lt;br /&gt;
13. Configure ElasticSearch 6 to handle reindex from the temporary es &lt;br /&gt;
&lt;br /&gt;
  echo 'reindex.remote.whitelist: localhost:9500' | sudo tee -a /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
  sudo service elasticsearch restart&lt;br /&gt;
&lt;br /&gt;
14. Migrate the indexes&lt;br /&gt;
&lt;br /&gt;
  sudo -u archivematica bash -c &amp;quot; \&lt;br /&gt;
  set -a -e -x&lt;br /&gt;
  source /etc/default/archivematica-dashboard || \&lt;br /&gt;
  source /etc/sysconfig/archivematica-dashboard \&lt;br /&gt;
        || (echo 'Environment file not found'; exit 1)&lt;br /&gt;
  cd /usr/share/archivematica/dashboard&lt;br /&gt;
  /usr/share/archivematica/virtualenvs/archivematica-dashboard/bin/python manage.py reindex_from_remote_cluster -t 60 -s 10 http://localhost:9500&lt;br /&gt;
  &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
The command should finish with&lt;br /&gt;
  &lt;br /&gt;
  All reindex requests ended successfully!&lt;br /&gt;
&lt;br /&gt;
Else, you might need to tweak the timeout (-t) and size (-s) parameters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
15. Verify that the new indexes were created and populated:&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9200/_cat/indices?v&amp;quot; &lt;br /&gt;
  health status index         uuid                   pri rep docs.count docs.deleted store.size pri.store.size&lt;br /&gt;
  yellow open   transferfiles jlu2d2yZQpWwpKKT1ZzMAA   5   1          0            0      1.1kb          1.1kb&lt;br /&gt;
  yellow open   aips          VAvONAByRBuVcWBYhlhUmw   5   1        116            0     66.9mb         66.9mb&lt;br /&gt;
  yellow open   transfers     OhfLVBzuRqCNUYRCSSTidg   5   1          0            0      1.1kb          1.1kb&lt;br /&gt;
  yellow open   aipfiles      clX1gcqnT9CTdwTm8jeatw   5   1      24700            0     70.6mb         70.6mb&lt;br /&gt;
&lt;br /&gt;
You should have 4 indexes now, and the sum of the aips and aipfiles docs.count column should be equal to the doc.count for the aip index in ElasticSearch 1.7.5. The same happens with the transfers/transferfiles indexes.&lt;br /&gt;
&lt;br /&gt;
16. Stop the temporary elasticsearch service&lt;br /&gt;
&lt;br /&gt;
  kill $(cat ~/elasticsearch-1.7.5/elastic-tmp.pid)&lt;br /&gt;
&lt;br /&gt;
17. Restart all archivematica services&lt;br /&gt;
  &lt;br /&gt;
  service archivematica-dashboard restart&lt;br /&gt;
  service archivematica-mcp-server restart&lt;br /&gt;
  service archivematica-mcp-client restart&lt;br /&gt;
  service archivematica-storage-service restart&lt;/div&gt;</summary>
		<author><name>Scollazo</name></author>
	</entry>
	<entry>
		<id>https://wiki.archivematica.org/index.php?title=Update_ElasticSearch_snapshots&amp;diff=12904</id>
		<title>Update ElasticSearch snapshots</title>
		<link rel="alternate" type="text/html" href="https://wiki.archivematica.org/index.php?title=Update_ElasticSearch_snapshots&amp;diff=12904"/>
		<updated>2019-02-27T14:13:21Z</updated>

		<summary type="html">&lt;p&gt;Scollazo: /* ElasticSearch update */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= ElasticSearch update =&lt;br /&gt;
&lt;br /&gt;
1. Check that ES is up and running, and note the results:&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9200/_cat/indices?v&amp;quot;&lt;br /&gt;
  health status index     pri rep docs.count docs.deleted store.size pri.store.size &lt;br /&gt;
  yellow open   aips        5   1      24816            1    175.4mb        175.4mb &lt;br /&gt;
  yellow open   transfers   5   1          0            0       720b           720b &lt;br /&gt;
&lt;br /&gt;
2. Create an ElasticSearch backup (they are called snapshots ) using the following commands:&lt;br /&gt;
&lt;br /&gt;
a. Remove and recreate the folder that stores the backup&lt;br /&gt;
&lt;br /&gt;
  sudo rm -rf /var/lib/elasticsearch/backup-repo/&lt;br /&gt;
  sudo mkdir -p /var/lib/elasticsearch/backup-repo/&lt;br /&gt;
  sudo chown elasticsearch:elasticsearch /var/lib/elasticsearch/backup-repo/&lt;br /&gt;
&lt;br /&gt;
b. Allow elasticsearch to write files to the backup&lt;br /&gt;
&lt;br /&gt;
  echo 'path.repo: [&amp;quot;/var/lib/elasticsearch/backup-repo&amp;quot;]' |sudo tee -a /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
&lt;br /&gt;
c. Restart ElasticSearch and wait for it to start&lt;br /&gt;
&lt;br /&gt;
  sudo service elasticsearch restart&lt;br /&gt;
  sleep 60s&lt;br /&gt;
&lt;br /&gt;
d. Configure the ES backup&lt;br /&gt;
  curl -XPUT &amp;quot;localhost:9200/_snapshot/backup-repo&amp;quot; -H 'Content-Type: application/json' -d \&lt;br /&gt;
    '{&lt;br /&gt;
         &amp;quot;type&amp;quot;: &amp;quot;fs&amp;quot;,&lt;br /&gt;
         &amp;quot;settings&amp;quot;: {&lt;br /&gt;
         &amp;quot;location&amp;quot;: &amp;quot;./&amp;quot;,&lt;br /&gt;
         &amp;quot;compress&amp;quot;: true&lt;br /&gt;
         }&lt;br /&gt;
     }'&lt;br /&gt;
&lt;br /&gt;
e. Take the actual backup, and copy it to a safe place&lt;br /&gt;
  curl -X PUT &amp;quot;localhost:9200/_snapshot/backup-repo/am_indexes_backup?wait_for_completion=true&amp;quot;&lt;br /&gt;
  cp /var/lib/elasticsearch/backup-repo ~/elasticsearch-backup -rf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Check wich elasticsearch version is installed&lt;br /&gt;
&lt;br /&gt;
  Redhat/Centos: rpm -qa | grep elasticsearch&lt;br /&gt;
  Ubuntu: dpkg -l | grep elasticsearch&lt;br /&gt;
&lt;br /&gt;
4. Download a temporary copy of elasticsearch (same version than intalled)&lt;br /&gt;
&lt;br /&gt;
  wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.6.tar.gz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. Uncompress the downloaded tar.gz and go into it&lt;br /&gt;
&lt;br /&gt;
  tar zxvf elasticsearch-1.7.5.tar.gz&lt;br /&gt;
  cd elasticsearch-1.7.5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6. Copy the backup you just created &lt;br /&gt;
   &lt;br /&gt;
  mkdir -p data&lt;br /&gt;
  cp /var/lib/elasticsearch/backup-repo data -rf # Use sudo if needed&lt;br /&gt;
&lt;br /&gt;
7. Adjust file permissions&lt;br /&gt;
&lt;br /&gt;
  sudo chown &amp;lt;your user&amp;gt;:&amp;lt;your group&amp;gt; data -R&lt;br /&gt;
&lt;br /&gt;
8. Open other shell, and launch the temporary elasticsearch instance&lt;br /&gt;
&lt;br /&gt;
  cd elasticsearch-1.7.5&lt;br /&gt;
  ES_JAVA_OPTS=&amp;quot;-Xms2g -Xmx2g&amp;quot; ./bin/elasticsearch -p elastic-tmp.pid -Des.http.port=9500 -Des.path.repo=data/backup-repo&lt;br /&gt;
&lt;br /&gt;
9. Tell the temporary ElasticSearch instance about the backup files, and restore them:&lt;br /&gt;
&lt;br /&gt;
  curl -XPUT &amp;quot;localhost:9500/_snapshot/backup-repo&amp;quot; -H 'Content-Type: application/json' -d \&lt;br /&gt;
 '{&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;fs&amp;quot;,&lt;br /&gt;
    &amp;quot;settings&amp;quot;: {&lt;br /&gt;
    &amp;quot;location&amp;quot;: &amp;quot;./&amp;quot;,&lt;br /&gt;
     &amp;quot;compress&amp;quot;: true&lt;br /&gt;
     }&lt;br /&gt;
  }'&lt;br /&gt;
  curl -X PUT &amp;quot;localhost:9500/_snapshot/backup-repo/am_indexes_backup??wait_for_completion=true&amp;quot;&lt;br /&gt;
&lt;br /&gt;
10. Verify that the temporary ElasticSearch service has the same content than the system one:&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9200/_cat/indices?v&amp;quot;&lt;br /&gt;
  health status index     pri rep docs.count docs.deleted store.size pri.store.size &lt;br /&gt;
  yellow open   aips        5   1      24816            1    175.4mb        175.4mb &lt;br /&gt;
  yellow open   transfers   5   1          0            0       720b           720b &lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
11. Remove system's ElasticSearch 1.7.5 and it's files&lt;br /&gt;
&lt;br /&gt;
  Redhat: sudo yum remove elasticsearch&lt;br /&gt;
  Ubuntu: sudo apt-get remove --purge elasticsearch&lt;br /&gt;
  sudo mv /var/lib/elasticsearch /var/lib/elasticsearch-1.7.5&lt;br /&gt;
  sudo mv /etc/elasticsearch /etc/elasticsearch-1.7.5&lt;br /&gt;
&lt;br /&gt;
12. Upgrade archivematica and install elasticsearch 6&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -i hosts singlenode.yml --tags=elasticsearch,archivematica-src&lt;br /&gt;
&lt;br /&gt;
13. Configure ElasticSearch 6 to handle reindex from the temporary es &lt;br /&gt;
&lt;br /&gt;
  echo 'reindex.remote.whitelist: localhost:9500' | sudo tee -a /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
  sudo service elasticsearch restart&lt;br /&gt;
&lt;br /&gt;
14. Migrate the indexes&lt;br /&gt;
&lt;br /&gt;
  sudo -u archivematica bash -c &amp;quot; \&lt;br /&gt;
  set -a -e -x&lt;br /&gt;
  source /etc/default/archivematica-dashboard || \&lt;br /&gt;
  source /etc/sysconfig/archivematica-dashboard \&lt;br /&gt;
        || (echo 'Environment file not found'; exit 1)&lt;br /&gt;
  cd /usr/share/archivematica/dashboard&lt;br /&gt;
  /usr/share/archivematica/virtualenvs/archivematica-dashboard/bin/python manage.py reindex_from_remote_cluster -t 60 -s 10 http://localhost:9500&lt;br /&gt;
  &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
The command should finish with&lt;br /&gt;
  &lt;br /&gt;
  All reindex requests ended successfully!&lt;br /&gt;
&lt;br /&gt;
Else, you might need to tweak the timeout (-t) and size (-s) parameters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
15. Verify that the new indexes were created and populated:&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9200/_cat/indices?v&amp;quot; &lt;br /&gt;
  health status index         uuid                   pri rep docs.count docs.deleted store.size pri.store.size&lt;br /&gt;
  yellow open   transferfiles jlu2d2yZQpWwpKKT1ZzMAA   5   1          0            0      1.1kb          1.1kb&lt;br /&gt;
  yellow open   aips          VAvONAByRBuVcWBYhlhUmw   5   1        116            0     66.9mb         66.9mb&lt;br /&gt;
  yellow open   transfers     OhfLVBzuRqCNUYRCSSTidg   5   1          0            0      1.1kb          1.1kb&lt;br /&gt;
  yellow open   aipfiles      clX1gcqnT9CTdwTm8jeatw   5   1      24700            0     70.6mb         70.6mb&lt;br /&gt;
&lt;br /&gt;
You should have 4 indexes now, and the sum of the aips and aipfiles docs.count column should be equal to the doc.count for the aip index in ElasticSearch 1.7.5. The same happens with the transfers/transferfiles indexes.&lt;br /&gt;
&lt;br /&gt;
16. Stop the temporary elasticsearch service&lt;br /&gt;
&lt;br /&gt;
  kill $(cat ~/elasticsearch-1.7.5/elastic-tmp.pid)&lt;br /&gt;
&lt;br /&gt;
17. Restart all archivematica services&lt;br /&gt;
  &lt;br /&gt;
  service archivematica-dashboard restart&lt;br /&gt;
  service archivematica-mcp-server restart&lt;br /&gt;
  service archivematica-mcp-client restart&lt;br /&gt;
  service archivematica-storage-service restart&lt;/div&gt;</summary>
		<author><name>Scollazo</name></author>
	</entry>
	<entry>
		<id>https://wiki.archivematica.org/index.php?title=Update_ElasticSearch_snapshots&amp;diff=12903</id>
		<title>Update ElasticSearch snapshots</title>
		<link rel="alternate" type="text/html" href="https://wiki.archivematica.org/index.php?title=Update_ElasticSearch_snapshots&amp;diff=12903"/>
		<updated>2019-02-27T14:11:12Z</updated>

		<summary type="html">&lt;p&gt;Scollazo: /* ElasticSearch update */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= ElasticSearch update =&lt;br /&gt;
&lt;br /&gt;
1. Check that ES is up and running, and note the results:&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9200/_cat/indices?v&amp;quot;&lt;br /&gt;
  health status index     pri rep docs.count docs.deleted store.size pri.store.size &lt;br /&gt;
  yellow open   aips        5   1      24816            1    175.4mb        175.4mb &lt;br /&gt;
  yellow open   transfers   5   1          0            0       720b           720b &lt;br /&gt;
&lt;br /&gt;
2. Create an ElasticSearch backup (they are called snapshots ) using the following commands:&lt;br /&gt;
&lt;br /&gt;
a. Remove and recreate the folder that stores the backup&lt;br /&gt;
&lt;br /&gt;
  sudo rm -rf /var/lib/elasticsearch/backup-repo/&lt;br /&gt;
  sudo mkdir -p /var/lib/elasticsearch/backup-repo/&lt;br /&gt;
  sudo chown elasticsearch:elasticsearch /var/lib/elasticsearch/backup-repo/&lt;br /&gt;
&lt;br /&gt;
b. Allow elasticsearch to write files to the backup&lt;br /&gt;
&lt;br /&gt;
  echo 'path.repo: [&amp;quot;/var/lib/elasticsearch/backup-repo&amp;quot;]' |sudo tee -a /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
&lt;br /&gt;
c. Restart ElasticSearch and wait for it to start&lt;br /&gt;
&lt;br /&gt;
  sudo service elasticsearch restart&lt;br /&gt;
  sleep 60s&lt;br /&gt;
&lt;br /&gt;
d. Configure the ES backup&lt;br /&gt;
  curl -XPUT &amp;quot;localhost:9200/_snapshot/backup-repo&amp;quot; -H 'Content-Type: application/json' -d \&lt;br /&gt;
    '{&lt;br /&gt;
         &amp;quot;type&amp;quot;: &amp;quot;fs&amp;quot;,&lt;br /&gt;
         &amp;quot;settings&amp;quot;: {&lt;br /&gt;
         &amp;quot;location&amp;quot;: &amp;quot;./&amp;quot;,&lt;br /&gt;
         &amp;quot;compress&amp;quot;: true&lt;br /&gt;
         }&lt;br /&gt;
     }'&lt;br /&gt;
    # Take the actual backup, and copy it to a safe place&lt;br /&gt;
    curl -X PUT &amp;quot;localhost:9200/_snapshot/backup-repo/am_indexes_backup?wait_for_completion=true&amp;quot;&lt;br /&gt;
    cp /var/lib/elasticsearch/backup-repo ~/elasticsearch-backup -rf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Check wich elasticsearch version is installed&lt;br /&gt;
&lt;br /&gt;
  Redhat/Centos: rpm -qa | grep elasticsearch&lt;br /&gt;
  Ubuntu: dpkg -l | grep elasticsearch&lt;br /&gt;
&lt;br /&gt;
4. Download a temporary copy of elasticsearch (same version than intalled)&lt;br /&gt;
&lt;br /&gt;
  wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.6.tar.gz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. Uncompress the downloaded tar.gz and go into it&lt;br /&gt;
&lt;br /&gt;
  tar zxvf elasticsearch-1.7.5.tar.gz&lt;br /&gt;
  cd elasticsearch-1.7.5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6. Copy the backup you just created &lt;br /&gt;
   &lt;br /&gt;
  mkdir -p data&lt;br /&gt;
  cp /var/lib/elasticsearch/backup-repo data -rf # Use sudo if needed&lt;br /&gt;
&lt;br /&gt;
7. Adjust file permissions&lt;br /&gt;
&lt;br /&gt;
  sudo chown &amp;lt;your user&amp;gt;:&amp;lt;your group&amp;gt; data -R&lt;br /&gt;
&lt;br /&gt;
8. Open other shell, and launch the temporary elasticsearch instance&lt;br /&gt;
&lt;br /&gt;
  cd elasticsearch-1.7.5&lt;br /&gt;
  ES_JAVA_OPTS=&amp;quot;-Xms2g -Xmx2g&amp;quot; ./bin/elasticsearch -p elastic-tmp.pid -Des.http.port=9500 -Des.path.repo=data/backup-repo&lt;br /&gt;
&lt;br /&gt;
9. Tell the temporary ElasticSearch instance about the backup files, and restore them:&lt;br /&gt;
&lt;br /&gt;
  curl -XPUT &amp;quot;localhost:9500/_snapshot/backup-repo&amp;quot; -H 'Content-Type: application/json' -d \&lt;br /&gt;
 '{&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;fs&amp;quot;,&lt;br /&gt;
    &amp;quot;settings&amp;quot;: {&lt;br /&gt;
    &amp;quot;location&amp;quot;: &amp;quot;./&amp;quot;,&lt;br /&gt;
     &amp;quot;compress&amp;quot;: true&lt;br /&gt;
     }&lt;br /&gt;
  }'&lt;br /&gt;
  curl -X PUT &amp;quot;localhost:9500/_snapshot/backup-repo/am_indexes_backup??wait_for_completion=true&amp;quot;&lt;br /&gt;
&lt;br /&gt;
10. Verify that the temporary ElasticSearch service has the same content than the system one:&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9200/_cat/indices?v&amp;quot;&lt;br /&gt;
  health status index     pri rep docs.count docs.deleted store.size pri.store.size &lt;br /&gt;
  yellow open   aips        5   1      24816            1    175.4mb        175.4mb &lt;br /&gt;
  yellow open   transfers   5   1          0            0       720b           720b &lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
11. Remove system's ElasticSearch 1.7.5 and it's files&lt;br /&gt;
&lt;br /&gt;
  Redhat: sudo yum remove elasticsearch&lt;br /&gt;
  Ubuntu: sudo apt-get remove --purge elasticsearch&lt;br /&gt;
  sudo mv /var/lib/elasticsearch /var/lib/elasticsearch-1.7.5&lt;br /&gt;
  sudo mv /etc/elasticsearch /etc/elasticsearch-1.7.5&lt;br /&gt;
&lt;br /&gt;
12. Upgrade archivematica and install elasticsearch 6&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -i hosts singlenode.yml --tags=elasticsearch,archivematica-src&lt;br /&gt;
&lt;br /&gt;
13. Configure ElasticSearch 6 to handle reindex from the temporary es &lt;br /&gt;
&lt;br /&gt;
  echo 'reindex.remote.whitelist: localhost:9500' | sudo tee -a /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
  sudo service elasticsearch restart&lt;br /&gt;
&lt;br /&gt;
14. Migrate the indexes&lt;br /&gt;
&lt;br /&gt;
  sudo -u archivematica bash -c &amp;quot; \&lt;br /&gt;
  set -a -e -x&lt;br /&gt;
  source /etc/default/archivematica-dashboard || \&lt;br /&gt;
  source /etc/sysconfig/archivematica-dashboard \&lt;br /&gt;
        || (echo 'Environment file not found'; exit 1)&lt;br /&gt;
  cd /usr/share/archivematica/dashboard&lt;br /&gt;
  /usr/share/archivematica/virtualenvs/archivematica-dashboard/bin/python manage.py reindex_from_remote_cluster -t 60 -s 10 http://localhost:9500&lt;br /&gt;
  &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
The command should finish with&lt;br /&gt;
  &lt;br /&gt;
  All reindex requests ended successfully!&lt;br /&gt;
&lt;br /&gt;
Else, you might need to tweak the timeout (-t) and size (-s) parameters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
15. Verify that the new indexes were created and populated:&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9200/_cat/indices?v&amp;quot; &lt;br /&gt;
  health status index         uuid                   pri rep docs.count docs.deleted store.size pri.store.size&lt;br /&gt;
  yellow open   transferfiles jlu2d2yZQpWwpKKT1ZzMAA   5   1          0            0      1.1kb          1.1kb&lt;br /&gt;
  yellow open   aips          VAvONAByRBuVcWBYhlhUmw   5   1        116            0     66.9mb         66.9mb&lt;br /&gt;
  yellow open   transfers     OhfLVBzuRqCNUYRCSSTidg   5   1          0            0      1.1kb          1.1kb&lt;br /&gt;
  yellow open   aipfiles      clX1gcqnT9CTdwTm8jeatw   5   1      24700            0     70.6mb         70.6mb&lt;br /&gt;
&lt;br /&gt;
You should have 4 indexes now, and the sum of the aips and aipfiles docs.count column should be equal to the doc.count for the aip index in ElasticSearch 1.7.5. The same happens with the transfers/transferfiles indexes.&lt;br /&gt;
&lt;br /&gt;
16. Stop the temporary elasticsearch service&lt;br /&gt;
&lt;br /&gt;
  kill $(cat ~/elasticsearch-1.7.5/elastic-tmp.pid)&lt;br /&gt;
&lt;br /&gt;
17. Restart all archivematica services&lt;br /&gt;
  &lt;br /&gt;
  service archivematica-dashboard restart&lt;br /&gt;
  service archivematica-mcp-server restart&lt;br /&gt;
  service archivematica-mcp-client restart&lt;br /&gt;
  service archivematica-storage-service restart&lt;/div&gt;</summary>
		<author><name>Scollazo</name></author>
	</entry>
	<entry>
		<id>https://wiki.archivematica.org/index.php?title=Update_ElasticSearch_snapshots&amp;diff=12902</id>
		<title>Update ElasticSearch snapshots</title>
		<link rel="alternate" type="text/html" href="https://wiki.archivematica.org/index.php?title=Update_ElasticSearch_snapshots&amp;diff=12902"/>
		<updated>2019-02-27T14:10:46Z</updated>

		<summary type="html">&lt;p&gt;Scollazo: Created page with &amp;quot;= ElasticSearch update =  1. Check that ES is up and running, and note the results:    curl -X GET &amp;quot;localhost:9200/_cat/indices?v&amp;quot;   health status index     pri rep docs.count...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= ElasticSearch update =&lt;br /&gt;
&lt;br /&gt;
1. Check that ES is up and running, and note the results:&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9200/_cat/indices?v&amp;quot;&lt;br /&gt;
  health status index     pri rep docs.count docs.deleted store.size pri.store.size &lt;br /&gt;
  yellow open   aips        5   1      24816            1    175.4mb        175.4mb &lt;br /&gt;
  yellow open   transfers   5   1          0            0       720b           720b &lt;br /&gt;
&lt;br /&gt;
2. Create an ElasticSearch snapshot using the following commands:&lt;br /&gt;
&lt;br /&gt;
a. Remove and recreate the folder that stores the backup&lt;br /&gt;
&lt;br /&gt;
  sudo rm -rf /var/lib/elasticsearch/backup-repo/&lt;br /&gt;
  sudo mkdir -p /var/lib/elasticsearch/backup-repo/&lt;br /&gt;
  sudo chown elasticsearch:elasticsearch /var/lib/elasticsearch/backup-repo/&lt;br /&gt;
&lt;br /&gt;
b. Allow elasticsearch to write files to the backup&lt;br /&gt;
&lt;br /&gt;
  echo 'path.repo: [&amp;quot;/var/lib/elasticsearch/backup-repo&amp;quot;]' |sudo tee -a /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
&lt;br /&gt;
c. Restart ElasticSearch and wait for it to start&lt;br /&gt;
&lt;br /&gt;
  sudo service elasticsearch restart&lt;br /&gt;
  sleep 60s&lt;br /&gt;
&lt;br /&gt;
d. Configure the ES backup&lt;br /&gt;
  curl -XPUT &amp;quot;localhost:9200/_snapshot/backup-repo&amp;quot; -H 'Content-Type: application/json' -d \&lt;br /&gt;
    '{&lt;br /&gt;
         &amp;quot;type&amp;quot;: &amp;quot;fs&amp;quot;,&lt;br /&gt;
         &amp;quot;settings&amp;quot;: {&lt;br /&gt;
         &amp;quot;location&amp;quot;: &amp;quot;./&amp;quot;,&lt;br /&gt;
         &amp;quot;compress&amp;quot;: true&lt;br /&gt;
         }&lt;br /&gt;
     }'&lt;br /&gt;
    # Take the actual backup, and copy it to a safe place&lt;br /&gt;
    curl -X PUT &amp;quot;localhost:9200/_snapshot/backup-repo/am_indexes_backup?wait_for_completion=true&amp;quot;&lt;br /&gt;
    cp /var/lib/elasticsearch/backup-repo ~/elasticsearch-backup -rf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Check wich elasticsearch version is installed&lt;br /&gt;
&lt;br /&gt;
  Redhat/Centos: rpm -qa | grep elasticsearch&lt;br /&gt;
  Ubuntu: dpkg -l | grep elasticsearch&lt;br /&gt;
&lt;br /&gt;
4. Download a temporary copy of elasticsearch (same version than intalled)&lt;br /&gt;
&lt;br /&gt;
  wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.6.tar.gz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. Uncompress the downloaded tar.gz and go into it&lt;br /&gt;
&lt;br /&gt;
  tar zxvf elasticsearch-1.7.5.tar.gz&lt;br /&gt;
  cd elasticsearch-1.7.5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6. Copy the backup you just created &lt;br /&gt;
   &lt;br /&gt;
  mkdir -p data&lt;br /&gt;
  cp /var/lib/elasticsearch/backup-repo data -rf # Use sudo if needed&lt;br /&gt;
&lt;br /&gt;
7. Adjust file permissions&lt;br /&gt;
&lt;br /&gt;
  sudo chown &amp;lt;your user&amp;gt;:&amp;lt;your group&amp;gt; data -R&lt;br /&gt;
&lt;br /&gt;
8. Open other shell, and launch the temporary elasticsearch instance&lt;br /&gt;
&lt;br /&gt;
  cd elasticsearch-1.7.5&lt;br /&gt;
  ES_JAVA_OPTS=&amp;quot;-Xms2g -Xmx2g&amp;quot; ./bin/elasticsearch -p elastic-tmp.pid -Des.http.port=9500 -Des.path.repo=data/backup-repo&lt;br /&gt;
&lt;br /&gt;
9. Tell the temporary ElasticSearch instance about the backup files, and restore them:&lt;br /&gt;
&lt;br /&gt;
  curl -XPUT &amp;quot;localhost:9500/_snapshot/backup-repo&amp;quot; -H 'Content-Type: application/json' -d \&lt;br /&gt;
 '{&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;fs&amp;quot;,&lt;br /&gt;
    &amp;quot;settings&amp;quot;: {&lt;br /&gt;
    &amp;quot;location&amp;quot;: &amp;quot;./&amp;quot;,&lt;br /&gt;
     &amp;quot;compress&amp;quot;: true&lt;br /&gt;
     }&lt;br /&gt;
  }'&lt;br /&gt;
  curl -X PUT &amp;quot;localhost:9500/_snapshot/backup-repo/am_indexes_backup??wait_for_completion=true&amp;quot;&lt;br /&gt;
&lt;br /&gt;
10. Verify that the temporary ElasticSearch service has the same content than the system one:&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9200/_cat/indices?v&amp;quot;&lt;br /&gt;
  health status index     pri rep docs.count docs.deleted store.size pri.store.size &lt;br /&gt;
  yellow open   aips        5   1      24816            1    175.4mb        175.4mb &lt;br /&gt;
  yellow open   transfers   5   1          0            0       720b           720b &lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
11. Remove system's ElasticSearch 1.7.5 and it's files&lt;br /&gt;
&lt;br /&gt;
  Redhat: sudo yum remove elasticsearch&lt;br /&gt;
  Ubuntu: sudo apt-get remove --purge elasticsearch&lt;br /&gt;
  sudo mv /var/lib/elasticsearch /var/lib/elasticsearch-1.7.5&lt;br /&gt;
  sudo mv /etc/elasticsearch /etc/elasticsearch-1.7.5&lt;br /&gt;
&lt;br /&gt;
12. Upgrade archivematica and install elasticsearch 6&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -i hosts singlenode.yml --tags=elasticsearch,archivematica-src&lt;br /&gt;
&lt;br /&gt;
13. Configure ElasticSearch 6 to handle reindex from the temporary es &lt;br /&gt;
&lt;br /&gt;
  echo 'reindex.remote.whitelist: localhost:9500' | sudo tee -a /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
  sudo service elasticsearch restart&lt;br /&gt;
&lt;br /&gt;
14. Migrate the indexes&lt;br /&gt;
&lt;br /&gt;
  sudo -u archivematica bash -c &amp;quot; \&lt;br /&gt;
  set -a -e -x&lt;br /&gt;
  source /etc/default/archivematica-dashboard || \&lt;br /&gt;
  source /etc/sysconfig/archivematica-dashboard \&lt;br /&gt;
        || (echo 'Environment file not found'; exit 1)&lt;br /&gt;
  cd /usr/share/archivematica/dashboard&lt;br /&gt;
  /usr/share/archivematica/virtualenvs/archivematica-dashboard/bin/python manage.py reindex_from_remote_cluster -t 60 -s 10 http://localhost:9500&lt;br /&gt;
  &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
The command should finish with&lt;br /&gt;
  &lt;br /&gt;
  All reindex requests ended successfully!&lt;br /&gt;
&lt;br /&gt;
Else, you might need to tweak the timeout (-t) and size (-s) parameters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
15. Verify that the new indexes were created and populated:&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9200/_cat/indices?v&amp;quot; &lt;br /&gt;
  health status index         uuid                   pri rep docs.count docs.deleted store.size pri.store.size&lt;br /&gt;
  yellow open   transferfiles jlu2d2yZQpWwpKKT1ZzMAA   5   1          0            0      1.1kb          1.1kb&lt;br /&gt;
  yellow open   aips          VAvONAByRBuVcWBYhlhUmw   5   1        116            0     66.9mb         66.9mb&lt;br /&gt;
  yellow open   transfers     OhfLVBzuRqCNUYRCSSTidg   5   1          0            0      1.1kb          1.1kb&lt;br /&gt;
  yellow open   aipfiles      clX1gcqnT9CTdwTm8jeatw   5   1      24700            0     70.6mb         70.6mb&lt;br /&gt;
&lt;br /&gt;
You should have 4 indexes now, and the sum of the aips and aipfiles docs.count column should be equal to the doc.count for the aip index in ElasticSearch 1.7.5. The same happens with the transfers/transferfiles indexes.&lt;br /&gt;
&lt;br /&gt;
16. Stop the temporary elasticsearch service&lt;br /&gt;
&lt;br /&gt;
  kill $(cat ~/elasticsearch-1.7.5/elastic-tmp.pid)&lt;br /&gt;
&lt;br /&gt;
17. Restart all archivematica services&lt;br /&gt;
  &lt;br /&gt;
  service archivematica-dashboard restart&lt;br /&gt;
  service archivematica-mcp-server restart&lt;br /&gt;
  service archivematica-mcp-client restart&lt;br /&gt;
  service archivematica-storage-service restart&lt;/div&gt;</summary>
		<author><name>Scollazo</name></author>
	</entry>
	<entry>
		<id>https://wiki.archivematica.org/index.php?title=Update_ElasticSearch&amp;diff=12901</id>
		<title>Update ElasticSearch</title>
		<link rel="alternate" type="text/html" href="https://wiki.archivematica.org/index.php?title=Update_ElasticSearch&amp;diff=12901"/>
		<updated>2019-02-27T00:25:44Z</updated>

		<summary type="html">&lt;p&gt;Scollazo: /* ElasticSearch update */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= ElasticSearch update =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Check that ES is up and running, and note the results:&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9200/_cat/indices?v&amp;quot;&lt;br /&gt;
  health status index     pri rep docs.count docs.deleted store.size pri.store.size &lt;br /&gt;
  yellow open   aips        5   1      24816            1    175.4mb        175.4mb &lt;br /&gt;
  yellow open   transfers   5   1          0            0       720b           720b &lt;br /&gt;
&lt;br /&gt;
Check also if there are any configured snapshot. If so, copy them to other place and remove them&lt;br /&gt;
  &lt;br /&gt;
  curl -XGET &amp;quot;localhost:9200/_snapshot/_all?pretty&amp;quot; &lt;br /&gt;
  curl -XDELETE &amp;quot;localhost:9200/_snapshot/backup-repo?pretty&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Stop elasticsearch service&lt;br /&gt;
&lt;br /&gt;
  sudo service elasticsearch stop&lt;br /&gt;
&lt;br /&gt;
3. Check wich elasticsearch version is installed&lt;br /&gt;
&lt;br /&gt;
  Redhat/Centos: rpm -qa | grep elasticsearch&lt;br /&gt;
  Ubuntu: dpkg -l | grep elasticsearch&lt;br /&gt;
&lt;br /&gt;
4. Download a temporary copy of elasticsearch (same version than intalled)&lt;br /&gt;
&lt;br /&gt;
  wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.5.tar.gz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. Uncompress the downloaded tar.gz and go into it&lt;br /&gt;
&lt;br /&gt;
  tar zxvf elasticsearch-1.7.5.tar.gz&lt;br /&gt;
  cd elasticsearch-1.7.5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6. Copy data from system wide installed elasticsearch, ot the temporary copy&lt;br /&gt;
&lt;br /&gt;
  sudo cp /var/lib/elasticsearch data -rf&lt;br /&gt;
&lt;br /&gt;
7. Adjust file permissions&lt;br /&gt;
&lt;br /&gt;
  sudo chown &amp;lt;your user&amp;gt;:&amp;lt;your group&amp;gt; data -R&lt;br /&gt;
&lt;br /&gt;
8. Launch the temporary elasticsearch instance&lt;br /&gt;
&lt;br /&gt;
  ES_JAVA_OPTS=&amp;quot;-Xms2g -Xmx2g&amp;quot; ./bin/elasticsearch -d -p elastic-tmp.pid -Des.http.port=9500&lt;br /&gt;
&lt;br /&gt;
9. Verify that the indexes were properly copied. Use the port specified in the previous command:&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9500/_cat/indices?v&amp;quot;&lt;br /&gt;
&lt;br /&gt;
10. Remove elasticsearch 1.7.5 and it's files&lt;br /&gt;
&lt;br /&gt;
  Redhat: sudo yum remove elasticsearch&lt;br /&gt;
  Ubuntu: sudo apt-get remove --purge elasticsearch&lt;br /&gt;
  sudo mv /var/lib/elasticsearch /var/lib/elasticsearch-1.7.5&lt;br /&gt;
  sudo mv /etc/elasticsearch /etc/elasticsearch-1.7.5&lt;br /&gt;
&lt;br /&gt;
11. Upgrade archivematica and install elasticsearch 6&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -i hosts singlenode.yml --tags=elasticsearch,archivematica-src&lt;br /&gt;
&lt;br /&gt;
12. Configure ElasticSearch 6 to handle reindex from the temporary es &lt;br /&gt;
&lt;br /&gt;
  echo 'reindex.remote.whitelist: localhost:9500' | sudo tee -a /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
  sudo service elasticsearch restart&lt;br /&gt;
&lt;br /&gt;
13. Migrate the indexes&lt;br /&gt;
&lt;br /&gt;
  sudo -u archivematica bash -c &amp;quot; \&lt;br /&gt;
  set -a -e -x&lt;br /&gt;
  source /etc/default/archivematica-dashboard || \&lt;br /&gt;
  source /etc/sysconfig/archivematica-dashboard \&lt;br /&gt;
        || (echo 'Environment file not found'; exit 1)&lt;br /&gt;
  cd /usr/share/archivematica/dashboard&lt;br /&gt;
  /usr/share/archivematica/virtualenvs/archivematica-dashboard/bin/python manage.py reindex_from_remote_cluster -t 60 -s 10 http://localhost:9500&lt;br /&gt;
  &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
The command should finish with&lt;br /&gt;
  &lt;br /&gt;
  All reindex requests ended successfully!&lt;br /&gt;
&lt;br /&gt;
Else, you might need to tweak the timeout (-t) and size (-s) parameters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
14. Verify that the new indexes were created and populated:&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9200/_cat/indices?v&amp;quot; &lt;br /&gt;
  health status index         uuid                   pri rep docs.count docs.deleted store.size pri.store.size&lt;br /&gt;
  yellow open   transferfiles jlu2d2yZQpWwpKKT1ZzMAA   5   1          0            0      1.1kb          1.1kb&lt;br /&gt;
  yellow open   aips          VAvONAByRBuVcWBYhlhUmw   5   1        116            0     66.9mb         66.9mb&lt;br /&gt;
  yellow open   transfers     OhfLVBzuRqCNUYRCSSTidg   5   1          0            0      1.1kb          1.1kb&lt;br /&gt;
  yellow open   aipfiles      clX1gcqnT9CTdwTm8jeatw   5   1      24700            0     70.6mb         70.6mb&lt;br /&gt;
&lt;br /&gt;
You should have 4 indexes now, and the sum of the aips and aipfiles docs.count column should be equal to the doc.count for the aip index in ElasticSearch 1.7.5. The same happens with the transfers/transferfiles indexes.&lt;br /&gt;
&lt;br /&gt;
15. Stop the temporary elasticsearch service&lt;br /&gt;
&lt;br /&gt;
  kill $(cat ~/elasticsearch-1.7.5/elastic-tmp.pid)&lt;br /&gt;
&lt;br /&gt;
16. Restart all archivematica services&lt;br /&gt;
  &lt;br /&gt;
  service archivematica-dashboard restart&lt;br /&gt;
  service archivematica-mcp-server restart&lt;br /&gt;
  service archivematica-mcp-client restart&lt;br /&gt;
  service archivematica-storage-service restart&lt;/div&gt;</summary>
		<author><name>Scollazo</name></author>
	</entry>
	<entry>
		<id>https://wiki.archivematica.org/index.php?title=Update_ElasticSearch&amp;diff=12900</id>
		<title>Update ElasticSearch</title>
		<link rel="alternate" type="text/html" href="https://wiki.archivematica.org/index.php?title=Update_ElasticSearch&amp;diff=12900"/>
		<updated>2019-02-27T00:02:53Z</updated>

		<summary type="html">&lt;p&gt;Scollazo: /* ElasticSearch update */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= ElasticSearch update =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Check that ES is up and running, and note the results:&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9200/_cat/indices?v&amp;quot;&lt;br /&gt;
  health status index     pri rep docs.count docs.deleted store.size pri.store.size &lt;br /&gt;
  yellow open   aips        5   1      24816            1    175.4mb        175.4mb &lt;br /&gt;
  yellow open   transfers   5   1          0            0       720b           720b &lt;br /&gt;
&lt;br /&gt;
Check also if there are any configured snapshot. If so, copy them to other place and remove them&lt;br /&gt;
  &lt;br /&gt;
  curl -XGET &amp;quot;localhost:9200/_snapshot/_all?pretty&amp;quot; &lt;br /&gt;
  curl -XDELETE &amp;quot;localhost:9200/_snapshot/backup-repo?pretty&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Stop elasticsearch service&lt;br /&gt;
&lt;br /&gt;
  sudo service elasticsearch stop&lt;br /&gt;
&lt;br /&gt;
3. Check wich elasticsearch version is installed&lt;br /&gt;
&lt;br /&gt;
  Redhat/Centos: rpm -qa | grep elasticsearch&lt;br /&gt;
  Ubuntu: dpkg -l | grep elasticsearch&lt;br /&gt;
&lt;br /&gt;
4. Download a temporary copy of elasticsearch (same version than intalled)&lt;br /&gt;
&lt;br /&gt;
  wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.5.tar.gz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. Uncompress the downloaded tar.gz and go into it&lt;br /&gt;
&lt;br /&gt;
  tar zxvf elasticsearch-1.7.5.tar.gz&lt;br /&gt;
  cd elasticsearch-1.7.5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6. Copy data from system wide installed elasticsearch, ot the temporary copy&lt;br /&gt;
&lt;br /&gt;
  sudo cp /var/lib/elasticsearch data -rf&lt;br /&gt;
&lt;br /&gt;
7. Adjust file permissions&lt;br /&gt;
&lt;br /&gt;
  sudo chown &amp;lt;your user&amp;gt;:&amp;lt;your group&amp;gt; data -R&lt;br /&gt;
&lt;br /&gt;
8. Launch the temporary elasticsearch instance&lt;br /&gt;
&lt;br /&gt;
  ES_JAVA_OPTS=&amp;quot;-Xms2g -Xmx2g&amp;quot; ./bin/elasticsearch -d -p elastic-tmp.pid -Des.http.port=9500&lt;br /&gt;
&lt;br /&gt;
9. Verify that the indexes were properly copied. Use the port specified in the previous command:&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9500/_cat/indices?v&amp;quot;&lt;br /&gt;
&lt;br /&gt;
10. Remove elasticsearch 1.7.5 and it's files&lt;br /&gt;
&lt;br /&gt;
  Redhat: sudo yum remove elasticsearch&lt;br /&gt;
  Ubuntu: sudo apt-get remove --purge elasticsearch&lt;br /&gt;
  sudo mv /var/lib/elasticsearch /var/lib/elasticsearch-1.7.5&lt;br /&gt;
  sudo mv /etc/elasticsearch /etc/elasticsearch-1.7.5&lt;br /&gt;
&lt;br /&gt;
11. Upgrade archivematica and install elasticsearch 6&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -i hosts singlenode.yml --tags=elasticsearch,archivematica-src&lt;br /&gt;
&lt;br /&gt;
12. Configure ElasticSearch 6 to handle reindex from the temporary es &lt;br /&gt;
&lt;br /&gt;
  echo 'reindex.remote.whitelist: localhost:9500' | sudo tee -a /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
  sudo service elasticsearch restart&lt;br /&gt;
&lt;br /&gt;
13. Migrate the indexes&lt;br /&gt;
&lt;br /&gt;
  sudo -u archivematica bash -c &amp;quot; \&lt;br /&gt;
  set -a -e -x&lt;br /&gt;
  source /etc/default/archivematica-dashboard || \&lt;br /&gt;
  source /etc/sysconfig/archivematica-dashboard \&lt;br /&gt;
        || (echo 'Environment file not found'; exit 1)&lt;br /&gt;
  cd /usr/share/archivematica/dashboard&lt;br /&gt;
  /usr/share/archivematica/virtualenvs/archivematica-dashboard/bin/python manage.py reindex_from_remote_cluster -t 60 http://localhost:9500&lt;br /&gt;
  &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
The command should finish with&lt;br /&gt;
  &lt;br /&gt;
  All reindex requests ended successfully!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
14. Verify that the new indexes were created and populated:&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9200/_cat/indices?v&amp;quot; &lt;br /&gt;
  health status index         uuid                   pri rep docs.count docs.deleted store.size pri.store.size&lt;br /&gt;
  yellow open   transferfiles jlu2d2yZQpWwpKKT1ZzMAA   5   1          0            0      1.1kb          1.1kb&lt;br /&gt;
  yellow open   aips          VAvONAByRBuVcWBYhlhUmw   5   1        116            0     66.9mb         66.9mb&lt;br /&gt;
  yellow open   transfers     OhfLVBzuRqCNUYRCSSTidg   5   1          0            0      1.1kb          1.1kb&lt;br /&gt;
  yellow open   aipfiles      clX1gcqnT9CTdwTm8jeatw   5   1      24700            0     70.6mb         70.6mb&lt;br /&gt;
&lt;br /&gt;
You should have 4 indexes now, and the sum of the aips and aipfiles docs.count column should be equal to the doc.count for the aip index in ElasticSearch 1.7.5. The same happens with the transfers/transferfiles indexes.&lt;br /&gt;
&lt;br /&gt;
15. Stop the temporary elasticsearch service&lt;br /&gt;
&lt;br /&gt;
  kill $(cat ~/elasticsearch-1.7.5/elastic-tmp.pid)&lt;br /&gt;
&lt;br /&gt;
16. Restart all archivematica services&lt;br /&gt;
  &lt;br /&gt;
  service archivematica-dashboard restart&lt;br /&gt;
  service archivematica-mcp-server restart&lt;br /&gt;
  service archivematica-mcp-client restart&lt;br /&gt;
  service archivematica-storage-service restart&lt;/div&gt;</summary>
		<author><name>Scollazo</name></author>
	</entry>
	<entry>
		<id>https://wiki.archivematica.org/index.php?title=Update_ElasticSearch&amp;diff=12890</id>
		<title>Update ElasticSearch</title>
		<link rel="alternate" type="text/html" href="https://wiki.archivematica.org/index.php?title=Update_ElasticSearch&amp;diff=12890"/>
		<updated>2019-02-19T18:49:22Z</updated>

		<summary type="html">&lt;p&gt;Scollazo: /* ElasticSearch update */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= ElasticSearch update =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Check that ES is up and running, and note the results:&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9200/_cat/indices?v&amp;quot;&lt;br /&gt;
  health status index     pri rep docs.count docs.deleted store.size pri.store.size &lt;br /&gt;
  yellow open   aips        5   1      24816            1    175.4mb        175.4mb &lt;br /&gt;
  yellow open   transfers   5   1          0            0       720b           720b &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Stop elasticsearch service&lt;br /&gt;
&lt;br /&gt;
  sudo service elasticsearch stop&lt;br /&gt;
&lt;br /&gt;
3. Check wich elasticsearch version is installed&lt;br /&gt;
&lt;br /&gt;
  Redhat/Centos: rpm -qa | grep elasticsearch&lt;br /&gt;
  Ubuntu: dpkg -l | grep elasticsearch&lt;br /&gt;
&lt;br /&gt;
4. Download a temporary copy of elasticsearch (same version than intalled)&lt;br /&gt;
&lt;br /&gt;
  wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.5.tar.gz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. Uncompress the downloaded tar.gz and go into it&lt;br /&gt;
&lt;br /&gt;
  tar zxvf elasticsearch-1.7.5.tar.gz&lt;br /&gt;
  cd elasticsearch-1.7.5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6. Copy data from system wide installed elasticsearch, ot the temporary copy&lt;br /&gt;
&lt;br /&gt;
  sudo cp /var/lib/elasticsearch data -rf&lt;br /&gt;
&lt;br /&gt;
7. Adjust file permissions&lt;br /&gt;
&lt;br /&gt;
  sudo chown &amp;lt;your user&amp;gt;:&amp;lt;your group&amp;gt; data -R&lt;br /&gt;
&lt;br /&gt;
8. Launch the temporary elasticsearch instance&lt;br /&gt;
&lt;br /&gt;
  ES_JAVA_OPTS=&amp;quot;-Xms2g -Xmx2g&amp;quot; ./bin/elasticsearch -d -p elastic-tmp.pid -Des.http.port=9500&lt;br /&gt;
&lt;br /&gt;
9. Verify that the indexes were properly copied. Use the port specified in the previous command:&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9500/_cat/indices?v&amp;quot;&lt;br /&gt;
&lt;br /&gt;
10. Remove elasticsearch 1.7.5 and it's files&lt;br /&gt;
&lt;br /&gt;
  Redhat: sudo yum remove elasticsearch&lt;br /&gt;
  Ubuntu: sudo apt-get remove --purge elasticsearch&lt;br /&gt;
  sudo mv /var/lib/elasticsearch /var/lib/elasticsearch-1.7.5&lt;br /&gt;
  sudo mv /etc/elasticsearch /etc/elasticsearch-1.7.5&lt;br /&gt;
&lt;br /&gt;
11. Upgrade archivematica and install elasticsearch 6&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -i hosts singlenode.yml --tags=elasticsearch,archivematica-src&lt;br /&gt;
&lt;br /&gt;
12. Configure ElasticSearch 6 to handle reindex from the temporary es &lt;br /&gt;
&lt;br /&gt;
  echo 'reindex.remote.whitelist: localhost:9500' | sudo tee -a /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
  sudo service elasticsearch restart&lt;br /&gt;
&lt;br /&gt;
13. Migrate the indexes&lt;br /&gt;
&lt;br /&gt;
  sudo -u archivematica bash -c &amp;quot; \&lt;br /&gt;
  set -a -e -x&lt;br /&gt;
  source /etc/default/archivematica-dashboard || \&lt;br /&gt;
  source /etc/sysconfig/archivematica-dashboard \&lt;br /&gt;
        || (echo 'Environment file not found'; exit 1)&lt;br /&gt;
  cd /usr/share/archivematica/dashboard&lt;br /&gt;
  /usr/share/archivematica/virtualenvs/archivematica-dashboard/bin/python manage.py reindex_from_remote_cluster -t 60 http://localhost:9500&lt;br /&gt;
  &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
The command should finish with&lt;br /&gt;
  &lt;br /&gt;
  All reindex requests ended successfully!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
14. Verify that the new indexes were created and populated:&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9200/_cat/indices?v&amp;quot; &lt;br /&gt;
  health status index         uuid                   pri rep docs.count docs.deleted store.size pri.store.size&lt;br /&gt;
  yellow open   transferfiles jlu2d2yZQpWwpKKT1ZzMAA   5   1          0            0      1.1kb          1.1kb&lt;br /&gt;
  yellow open   aips          VAvONAByRBuVcWBYhlhUmw   5   1        116            0     66.9mb         66.9mb&lt;br /&gt;
  yellow open   transfers     OhfLVBzuRqCNUYRCSSTidg   5   1          0            0      1.1kb          1.1kb&lt;br /&gt;
  yellow open   aipfiles      clX1gcqnT9CTdwTm8jeatw   5   1      24700            0     70.6mb         70.6mb&lt;br /&gt;
&lt;br /&gt;
You should have 4 indexes now, and the sum of the aips and aipfiles docs.count column should be equal to the doc.count for the aip index in ElasticSearch 1.7.5. The same happens with the transfers/transferfiles indexes.&lt;br /&gt;
&lt;br /&gt;
15. Stop the temporary elasticsearch service&lt;br /&gt;
&lt;br /&gt;
  kill $(cat ~/elasticsearch-1.7.5/elastic-tmp.pid)&lt;br /&gt;
&lt;br /&gt;
16. Restart all archivematica services&lt;br /&gt;
  &lt;br /&gt;
  service archivematica-dashboard restart&lt;br /&gt;
  service archivematica-mcp-server restart&lt;br /&gt;
  service archivematica-mcp-client restart&lt;br /&gt;
  service archivematica-storage-service restart&lt;/div&gt;</summary>
		<author><name>Scollazo</name></author>
	</entry>
	<entry>
		<id>https://wiki.archivematica.org/index.php?title=Update_ElasticSearch&amp;diff=12889</id>
		<title>Update ElasticSearch</title>
		<link rel="alternate" type="text/html" href="https://wiki.archivematica.org/index.php?title=Update_ElasticSearch&amp;diff=12889"/>
		<updated>2019-02-19T18:25:57Z</updated>

		<summary type="html">&lt;p&gt;Scollazo: /* ElasticSearch update */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= ElasticSearch update =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Check that ES is up and running, and note the results:&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9200/_cat/indices?v&amp;quot;&lt;br /&gt;
  health status index     pri rep docs.count docs.deleted store.size pri.store.size &lt;br /&gt;
  yellow open   aips        5   1         11            0    267.9kb        267.9kb &lt;br /&gt;
  yellow open   transfers   5   1         24            0     35.2kb         35.2kb &lt;br /&gt;
&lt;br /&gt;
2. Stop elasticsearch service&lt;br /&gt;
&lt;br /&gt;
  sudo service elasticsearch stop&lt;br /&gt;
&lt;br /&gt;
3. Check wich elasticsearch version is installed&lt;br /&gt;
&lt;br /&gt;
  Redhat/Centos: rpm -qa | grep elasticsearch&lt;br /&gt;
  Ubuntu: dpkg -l | grep elasticsearch&lt;br /&gt;
&lt;br /&gt;
4. Download a temporary copy of elasticsearch (same version than intalled)&lt;br /&gt;
&lt;br /&gt;
  wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.5.tar.gz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. Uncompress the downloaded tar.gz and go into it&lt;br /&gt;
&lt;br /&gt;
  tar zxvf elasticsearch-1.7.5.tar.gz&lt;br /&gt;
  cd elasticsearch-1.7.5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6. Copy data from system wide installed elasticsearch, ot the temporary copy&lt;br /&gt;
&lt;br /&gt;
  sudo cp /var/lib/elasticsearch data -rf&lt;br /&gt;
&lt;br /&gt;
7. Adjust file permissions&lt;br /&gt;
&lt;br /&gt;
  sudo chown &amp;lt;your user&amp;gt;:&amp;lt;your group&amp;gt; data -R&lt;br /&gt;
&lt;br /&gt;
8. Launch the temporary elasticsearch instance&lt;br /&gt;
&lt;br /&gt;
  ./bin/elasticsearch -d -p elastic-tmp.pid -Des.http.port=9500&lt;br /&gt;
&lt;br /&gt;
9. Verify that the indexes were properly copied. Use the port specified in the previous command:&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9500/_cat/indices?v&amp;quot;&lt;br /&gt;
&lt;br /&gt;
10. Remove elasticsearch 1.7.5 and it's files&lt;br /&gt;
&lt;br /&gt;
  Redhat: sudo yum remove elasticsearch&lt;br /&gt;
  Ubuntu: sudo apt-get remove --purge elasticsearch&lt;br /&gt;
  sudo mv /var/lib/elasticsearch /var/lib/elasticsearch-1.7.5&lt;br /&gt;
  sudo mv /etc/elasticsearch /etc/elasticsearch-1.7.5&lt;br /&gt;
&lt;br /&gt;
11. Upgrade archivematica and install elasticsearch 6&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -i hosts singlenode.yml --tags=elasticsearch,archivematica-src&lt;br /&gt;
&lt;br /&gt;
12. Configure ElasticSearch 6 to handle reindex from the temporary es &lt;br /&gt;
&lt;br /&gt;
  echo 'reindex.remote.whitelist: localhost:9500' | sudo tee -a /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
  sudo service elasticsearch restart&lt;br /&gt;
&lt;br /&gt;
13. Migrate the indexes&lt;br /&gt;
&lt;br /&gt;
  sudo -u archivematica bash -c &amp;quot; \&lt;br /&gt;
  set -a -e -x&lt;br /&gt;
  source /etc/default/archivematica-dashboard || \&lt;br /&gt;
  source /etc/sysconfig/archivematica-dashboard \&lt;br /&gt;
        || (echo 'Environment file not found'; exit 1)&lt;br /&gt;
  cd /usr/share/archivematica/dashboard&lt;br /&gt;
  /usr/share/archivematica/virtualenvs/archivematica-dashboard/bin/python manage.py reindex_from_remote_cluster http://localhost:9500&lt;br /&gt;
  &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
The command should finish with&lt;br /&gt;
  &lt;br /&gt;
  All reindex requests ended successfully!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
14. Verify that the new indexes were created and populated:&lt;br /&gt;
  &lt;br /&gt;
  curl -X GET &amp;quot;localhost:9200/_cat/indices?v&amp;quot; &lt;br /&gt;
  health status index         uuid                   pri rep docs.count docs.deleted store.size pri.store.size&lt;br /&gt;
  yellow open   aips          IL7lbAZFR9adKg-GpgepTw   5   1          1            0    135.8kb        135.8kb&lt;br /&gt;
  yellow open   transferfiles hlG1GBwIRNCi1rI74LhQpQ   5   1         23            0     49.1kb         49.1kb&lt;br /&gt;
  yellow open   transfers     ebRiOvutR_e7N4dNGoNq4w   5   1          1            0        6kb            6kb&lt;br /&gt;
  yellow open   aipfiles      2QFnLdr7Txi2qgG2C7-eJw   5   1         10            0    158.7kb        158.7kb&lt;br /&gt;
&lt;br /&gt;
You should have 4 indexes now, and the sum of the aips and aipfiles docs.count column should be equal to the doc.count for the aip index in ElasticSearch 1.7.5. The same happens with the transfers/transferfiles indexes.&lt;br /&gt;
&lt;br /&gt;
15. Stop the temporary elasticsearch service&lt;br /&gt;
&lt;br /&gt;
  kill $(cat ~/elasticsearch-1.7.5/elastic-tmp.pid)&lt;br /&gt;
&lt;br /&gt;
16. Restart all archivematica services&lt;br /&gt;
  &lt;br /&gt;
  service archivematica-dashboard restart&lt;br /&gt;
  service archivematica-mcp-server restart&lt;br /&gt;
  service archivematica-mcp-client restart&lt;br /&gt;
  service archivematica-storage-service restart&lt;/div&gt;</summary>
		<author><name>Scollazo</name></author>
	</entry>
	<entry>
		<id>https://wiki.archivematica.org/index.php?title=Update_ElasticSearch&amp;diff=12888</id>
		<title>Update ElasticSearch</title>
		<link rel="alternate" type="text/html" href="https://wiki.archivematica.org/index.php?title=Update_ElasticSearch&amp;diff=12888"/>
		<updated>2019-02-19T18:23:29Z</updated>

		<summary type="html">&lt;p&gt;Scollazo: /* ElasticSearch update */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= ElasticSearch update =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Check that ES is up and running, and note the results:&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9200/_cat/indices?v&amp;quot;&lt;br /&gt;
  health status index     pri rep docs.count docs.deleted store.size pri.store.size &lt;br /&gt;
  yellow open   aips        5   1         11            0    267.9kb        267.9kb &lt;br /&gt;
  yellow open   transfers   5   1         24            0     35.2kb         35.2kb &lt;br /&gt;
&lt;br /&gt;
2. Stop elasticsearch service&lt;br /&gt;
&lt;br /&gt;
  sudo service elasticsearch stop&lt;br /&gt;
&lt;br /&gt;
3. Check wich elasticsearch version is installed&lt;br /&gt;
&lt;br /&gt;
  Redhat/Centos: rpm -qa | grep elasticsearch&lt;br /&gt;
  Ubuntu: dpkg -l | grep elasticsearch&lt;br /&gt;
&lt;br /&gt;
4. Download a temporary copy of elasticsearch (same version than intalled)&lt;br /&gt;
&lt;br /&gt;
  wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.5.tar.gz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. Uncompress the downloaded tar.gz and go into it&lt;br /&gt;
&lt;br /&gt;
  tar zxvf elasticsearch-1.7.5.tar.gz&lt;br /&gt;
  cd elasticsearch-1.7.5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6. Copy data from system wide installed elasticsearch, ot the temporary copy&lt;br /&gt;
&lt;br /&gt;
  sudo cp /var/lib/elasticsearch data -rf&lt;br /&gt;
&lt;br /&gt;
7. Adjust file permissions&lt;br /&gt;
&lt;br /&gt;
  sudo chown &amp;lt;your user&amp;gt;:&amp;lt;your group&amp;gt; data -R&lt;br /&gt;
&lt;br /&gt;
8. Launch the temporary elasticsearch instance&lt;br /&gt;
&lt;br /&gt;
  ./bin/elasticsearch -d -p elastic-tmp.pid -Des.http.port=9500&lt;br /&gt;
&lt;br /&gt;
9. Verify that the indexes were properly copied&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9500/_cat/indices?v&amp;quot;&lt;br /&gt;
&lt;br /&gt;
10. Remove elasticsearch 1.7.5 and it's files&lt;br /&gt;
&lt;br /&gt;
  Redhat: sudo yum remove elasticsearch&lt;br /&gt;
  Ubuntu: sudo apt-get remove --purge elasticsearch&lt;br /&gt;
  sudo mv /var/lib/elasticsearch /var/lib/elasticsearch-1.7.5&lt;br /&gt;
  sudo mv /etc/elasticsearch /etc/elasticsearch-1.7.5&lt;br /&gt;
&lt;br /&gt;
11. Upgrade archivematica and install elasticsearch 6&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -i hosts singlenode.yml --tags=elasticsearch,archivematica-src&lt;br /&gt;
&lt;br /&gt;
12. Configure ElasticSearch 6 to handle reindex from the temporary es &lt;br /&gt;
&lt;br /&gt;
  echo 'reindex.remote.whitelist: localhost:9500' | sudo tee -a /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
  sudo service elasticsearch restart&lt;br /&gt;
&lt;br /&gt;
13. Migrate the indexes&lt;br /&gt;
&lt;br /&gt;
  sudo -u archivematica bash -c &amp;quot; \&lt;br /&gt;
  set -a -e -x&lt;br /&gt;
  source /etc/default/archivematica-dashboard || \&lt;br /&gt;
  source /etc/sysconfig/archivematica-dashboard \&lt;br /&gt;
        || (echo 'Environment file not found'; exit 1)&lt;br /&gt;
  cd /usr/share/archivematica/dashboard&lt;br /&gt;
  /usr/share/archivematica/virtualenvs/archivematica-dashboard/bin/python manage.py reindex_from_remote_cluster http://localhost:9500&lt;br /&gt;
  &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
The command should finish with&lt;br /&gt;
  &lt;br /&gt;
  All reindex requests ended successfully!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
14. Verify that the new indexes were created and populated:&lt;br /&gt;
  &lt;br /&gt;
  curl -X GET &amp;quot;localhost:9200/_cat/indices?v&amp;quot; &lt;br /&gt;
  health status index         uuid                   pri rep docs.count docs.deleted store.size pri.store.size&lt;br /&gt;
  yellow open   aips          IL7lbAZFR9adKg-GpgepTw   5   1          1            0    135.8kb        135.8kb&lt;br /&gt;
  yellow open   transferfiles hlG1GBwIRNCi1rI74LhQpQ   5   1         23            0     49.1kb         49.1kb&lt;br /&gt;
  yellow open   transfers     ebRiOvutR_e7N4dNGoNq4w   5   1          1            0        6kb            6kb&lt;br /&gt;
  yellow open   aipfiles      2QFnLdr7Txi2qgG2C7-eJw   5   1         10            0    158.7kb        158.7kb&lt;br /&gt;
&lt;br /&gt;
You should have 4 indexes now, and the sum of the aips and aipfiles docs.count column should be equal to the doc.count for the aip index in ElasticSearch 1.7.5. The same happens with the transfers/transferfiles indexes.&lt;br /&gt;
&lt;br /&gt;
15. Stop the temporary elasticsearch service&lt;br /&gt;
&lt;br /&gt;
  kill $(cat ~/elasticsearch-1.7.5/elastic-tmp.pid)&lt;br /&gt;
&lt;br /&gt;
16. Restart all archivematica services&lt;br /&gt;
  &lt;br /&gt;
  service archivematica-dashboard restart&lt;br /&gt;
  service archivematica-mcp-server restart&lt;br /&gt;
  service archivematica-mcp-client restart&lt;br /&gt;
  service archivematica-storage-service restart&lt;/div&gt;</summary>
		<author><name>Scollazo</name></author>
	</entry>
	<entry>
		<id>https://wiki.archivematica.org/index.php?title=Update_ElasticSearch&amp;diff=12887</id>
		<title>Update ElasticSearch</title>
		<link rel="alternate" type="text/html" href="https://wiki.archivematica.org/index.php?title=Update_ElasticSearch&amp;diff=12887"/>
		<updated>2019-02-19T18:19:57Z</updated>

		<summary type="html">&lt;p&gt;Scollazo: /* ElasticSearch update */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= ElasticSearch update =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Check that ES is up and running, and note the results:&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9200/_cat/indices?v&amp;quot;&lt;br /&gt;
  health status index     pri rep docs.count docs.deleted store.size pri.store.size &lt;br /&gt;
  yellow open   aips        5   1         11            0    267.9kb        267.9kb &lt;br /&gt;
  yellow open   transfers   5   1         24            0     35.2kb         35.2kb &lt;br /&gt;
&lt;br /&gt;
2. Stop elasticsearch service&lt;br /&gt;
&lt;br /&gt;
  sudo service elasticsearch stop&lt;br /&gt;
&lt;br /&gt;
3. Check wich elasticsearch version is installed&lt;br /&gt;
&lt;br /&gt;
  Redhat/Centos: rpm -qa | grep elasticsearch&lt;br /&gt;
  Ubuntu: dpkg -l | grep elasticsearch&lt;br /&gt;
&lt;br /&gt;
4. Download a temporary copy of elasticsearch (same version than intalled)&lt;br /&gt;
&lt;br /&gt;
  wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.5.tar.gz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. Uncompress the downloaded tar.gz and go into it&lt;br /&gt;
&lt;br /&gt;
  tar zxvf elasticsearch-1.7.5.tar.gz&lt;br /&gt;
  cd elasticsearch-1.7.5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6. Copy data from system wide installed elasticsearch, ot the temporary copy&lt;br /&gt;
&lt;br /&gt;
  sudo cp /var/lib/elasticsearch data -rf&lt;br /&gt;
&lt;br /&gt;
7. Adjust file permissions&lt;br /&gt;
&lt;br /&gt;
  sudo chown &amp;lt;your user&amp;gt;:&amp;lt;your group&amp;gt; data -R&lt;br /&gt;
&lt;br /&gt;
8. Launch the temporary elasticsearch instance&lt;br /&gt;
&lt;br /&gt;
  ./bin/elasticsearch -d -p elastic-tmp.pid -Des.http.port=9500&lt;br /&gt;
&lt;br /&gt;
9. Verify that the indexes were properly copied&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9500/_cat/indices?v&amp;quot;&lt;br /&gt;
&lt;br /&gt;
10. Remove elasticsearch 1.7.5 and it's files&lt;br /&gt;
&lt;br /&gt;
  Redhat: sudo yum remove elasticsearch&lt;br /&gt;
  Ubuntu: sudo apt-get remove elasticsearch&lt;br /&gt;
  sudo mv /var/lib/elasticsearch /var/lib/elasticsearch-1.7.5&lt;br /&gt;
  sudo mv /etc/elasticsearch /etc/elasticsearch-1.7.5&lt;br /&gt;
&lt;br /&gt;
11. Upgrade archivematica and install elasticsearch 6&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -i hosts singlenode.yml --tags=elasticsearch,archivematica-src&lt;br /&gt;
&lt;br /&gt;
12. Configure ElasticSearch 6 to handle reindex from the temporary es &lt;br /&gt;
&lt;br /&gt;
  echo 'reindex.remote.whitelist: localhost:9500' | sudo tee -a /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
  sudo service elasticsearch restart&lt;br /&gt;
&lt;br /&gt;
13. Migrate the indexes&lt;br /&gt;
&lt;br /&gt;
  sudo -u archivematica bash -c &amp;quot; \&lt;br /&gt;
  set -a -e -x&lt;br /&gt;
  source /etc/default/archivematica-dashboard || \&lt;br /&gt;
  source /etc/sysconfig/archivematica-dashboard \&lt;br /&gt;
        || (echo 'Environment file not found'; exit 1)&lt;br /&gt;
  cd /usr/share/archivematica/dashboard&lt;br /&gt;
  /usr/share/archivematica/virtualenvs/archivematica-dashboard/bin/python manage.py reindex_from_remote_cluster http://localhost:9500&lt;br /&gt;
  &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
The command should finish with&lt;br /&gt;
  &lt;br /&gt;
  All reindex requests ended successfully!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
14. Verify that the new indexes were created and populated:&lt;br /&gt;
  &lt;br /&gt;
  curl -X GET &amp;quot;localhost:9200/_cat/indices?v&amp;quot; &lt;br /&gt;
  health status index         uuid                   pri rep docs.count docs.deleted store.size pri.store.size&lt;br /&gt;
  yellow open   aips          IL7lbAZFR9adKg-GpgepTw   5   1          1            0    135.8kb        135.8kb&lt;br /&gt;
  yellow open   transferfiles hlG1GBwIRNCi1rI74LhQpQ   5   1         23            0     49.1kb         49.1kb&lt;br /&gt;
  yellow open   transfers     ebRiOvutR_e7N4dNGoNq4w   5   1          1            0        6kb            6kb&lt;br /&gt;
  yellow open   aipfiles      2QFnLdr7Txi2qgG2C7-eJw   5   1         10            0    158.7kb        158.7kb&lt;br /&gt;
&lt;br /&gt;
You should have 4 indexes now, and the sum of the aips and aipfiles docs.count column should be equal to the doc.count for the aip index in ElasticSearch 1.7.5. The same happens with the transfers/transferfiles indexes.&lt;br /&gt;
&lt;br /&gt;
15. Stop the temporary elasticsearch service&lt;br /&gt;
&lt;br /&gt;
  kill $(cat ~/elasticsearch-1.7.5/elastic-tmp.pid)&lt;br /&gt;
&lt;br /&gt;
16. Restart all archivematica services&lt;br /&gt;
  &lt;br /&gt;
  service archivematica-dashboard restart&lt;br /&gt;
  service archivematica-mcp-server restart&lt;br /&gt;
  service archivematica-mcp-client restart&lt;br /&gt;
  service archivematica-storage-service restart&lt;/div&gt;</summary>
		<author><name>Scollazo</name></author>
	</entry>
	<entry>
		<id>https://wiki.archivematica.org/index.php?title=Update_ElasticSearch&amp;diff=12886</id>
		<title>Update ElasticSearch</title>
		<link rel="alternate" type="text/html" href="https://wiki.archivematica.org/index.php?title=Update_ElasticSearch&amp;diff=12886"/>
		<updated>2019-02-19T17:43:26Z</updated>

		<summary type="html">&lt;p&gt;Scollazo: /* ElasticSearch update */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= ElasticSearch update =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Check that ES is up and running, and note the results:&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9200/_cat/indices?v&amp;quot;&lt;br /&gt;
  health status index     pri rep docs.count docs.deleted store.size pri.store.size &lt;br /&gt;
  yellow open   aips        5   1         11            0    267.9kb        267.9kb &lt;br /&gt;
  yellow open   transfers   5   1         24            0     35.2kb         35.2kb &lt;br /&gt;
&lt;br /&gt;
2. Stop elasticsearch service&lt;br /&gt;
&lt;br /&gt;
  sudo service elasticsearch stop&lt;br /&gt;
&lt;br /&gt;
3. Check wich elasticsearch version is installed&lt;br /&gt;
&lt;br /&gt;
  Redhat/Centos: rpm -qa | grep elasticsearch&lt;br /&gt;
  Ubuntu: dpkg -l | grep elasticsearch&lt;br /&gt;
&lt;br /&gt;
4. Download a temporary copy of elasticsearch (same version than intalled)&lt;br /&gt;
&lt;br /&gt;
  wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.5.tar.gz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. Uncompress the downloaded tar.gz and go into it&lt;br /&gt;
&lt;br /&gt;
  tar zxvf elasticsearch-1.7.5.tar.gz&lt;br /&gt;
  cd elasticsearch-1.7.5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6. Copy data from system wide installed elasticsearch, ot the temporary copy&lt;br /&gt;
&lt;br /&gt;
  cp /var/lib/elasticsearch data -rf&lt;br /&gt;
&lt;br /&gt;
7. Adjust file permissions&lt;br /&gt;
&lt;br /&gt;
  chown &amp;lt;your user&amp;gt;:&amp;lt;your group&amp;gt; data -R&lt;br /&gt;
&lt;br /&gt;
8. Launch the temporary elasticsearch instance&lt;br /&gt;
&lt;br /&gt;
  ./bin/elasticsearch -d -p elastic-tmp.pid -Des.http.port=9500&lt;br /&gt;
&lt;br /&gt;
9. Verify that the indexes were properly copied&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9500/_cat/indices?v&amp;quot;&lt;br /&gt;
&lt;br /&gt;
10. Remove elasticsearch 1.7.5 and it's files&lt;br /&gt;
&lt;br /&gt;
  Redhat: sudo yum remove elasticsearch&lt;br /&gt;
  Ubuntu: sudo apt-get remove elasticsearch&lt;br /&gt;
  sudo mv /var/lib/elasticsearch /var/lib/elasticsearch-1.7.5&lt;br /&gt;
  sudo mv /etc/elasticsearch /etc/elasticsearch-1.7.5&lt;br /&gt;
&lt;br /&gt;
11. Upgrade archivematica and install elasticsearch 6&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -i hosts singlenode.yml --tags=elasticsearch,archivematica-src&lt;br /&gt;
&lt;br /&gt;
12. Configure ElasticSearch 6 to handle reindex from the temporary es &lt;br /&gt;
&lt;br /&gt;
  echo 'reindex.remote.whitelist: localhost:9500' | sudo tee -a /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
  sudo service elasticsearch restart&lt;br /&gt;
&lt;br /&gt;
13. Migrate the indexes&lt;br /&gt;
&lt;br /&gt;
  sudo -u archivematica bash -c &amp;quot; \&lt;br /&gt;
  set -a -e -x&lt;br /&gt;
  source /etc/default/archivematica-dashboard || \&lt;br /&gt;
  source /etc/sysconfig/archivematica-dashboard \&lt;br /&gt;
        || (echo 'Environment file not found'; exit 1)&lt;br /&gt;
  cd /usr/share/archivematica/dashboard&lt;br /&gt;
  /usr/share/archivematica/virtualenvs/archivematica-dashboard/bin/python manage.py reindex_from_remote_cluster http://localhost:9500&lt;br /&gt;
  &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
The command should finish with&lt;br /&gt;
  &lt;br /&gt;
  All reindex requests ended successfully!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
14. Verify that the new indexes were created and populated:&lt;br /&gt;
  &lt;br /&gt;
  curl -X GET &amp;quot;localhost:9200/_cat/indices?v&amp;quot; &lt;br /&gt;
  health status index         uuid                   pri rep docs.count docs.deleted store.size pri.store.size&lt;br /&gt;
  yellow open   aips          IL7lbAZFR9adKg-GpgepTw   5   1          1            0    135.8kb        135.8kb&lt;br /&gt;
  yellow open   transferfiles hlG1GBwIRNCi1rI74LhQpQ   5   1         23            0     49.1kb         49.1kb&lt;br /&gt;
  yellow open   transfers     ebRiOvutR_e7N4dNGoNq4w   5   1          1            0        6kb            6kb&lt;br /&gt;
  yellow open   aipfiles      2QFnLdr7Txi2qgG2C7-eJw   5   1         10            0    158.7kb        158.7kb&lt;br /&gt;
&lt;br /&gt;
You should have 4 indexes now, and the sum of the aips and aipfiles docs.count column should be equal to the doc.count for the aip index in ElasticSearch 1.7.5. The same happens with the transfers/transferfiles indexes.&lt;br /&gt;
&lt;br /&gt;
15. Stop the temporary elasticsearch service&lt;br /&gt;
&lt;br /&gt;
  kill $(cat ~/elasticsearch-1.7.5/elastic-tmp.pid)&lt;br /&gt;
&lt;br /&gt;
16. Restart all archivematica services&lt;br /&gt;
  &lt;br /&gt;
  service archivematica-dashboard restart&lt;br /&gt;
  service archivematica-mcp-server restart&lt;br /&gt;
  service archivematica-mcp-client restart&lt;br /&gt;
  service archivematica-storage-service restart&lt;/div&gt;</summary>
		<author><name>Scollazo</name></author>
	</entry>
	<entry>
		<id>https://wiki.archivematica.org/index.php?title=Update_ElasticSearch&amp;diff=12885</id>
		<title>Update ElasticSearch</title>
		<link rel="alternate" type="text/html" href="https://wiki.archivematica.org/index.php?title=Update_ElasticSearch&amp;diff=12885"/>
		<updated>2019-02-19T17:41:48Z</updated>

		<summary type="html">&lt;p&gt;Scollazo: /* ElasticSearch update */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= ElasticSearch update =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Check that ES is up and running, and note the results:&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9200/_cat/indices?v&amp;quot;&lt;br /&gt;
  health status index     pri rep docs.count docs.deleted store.size pri.store.size &lt;br /&gt;
  yellow open   aips        5   1         11            0    267.9kb        267.9kb &lt;br /&gt;
  yellow open   transfers   5   1         24            0     35.2kb         35.2kb &lt;br /&gt;
&lt;br /&gt;
2. Stop elasticsearch service&lt;br /&gt;
&lt;br /&gt;
  sudo service elasticsearch stop&lt;br /&gt;
&lt;br /&gt;
3. Check wich elasticsearch version is installed&lt;br /&gt;
&lt;br /&gt;
  Redhat/Centos: rpm -qa | grep elasticsearch&lt;br /&gt;
  Ubuntu: dpkg -l | grep elasticsearch&lt;br /&gt;
&lt;br /&gt;
4. Download a temporary copy of elasticsearch (same version than intalled)&lt;br /&gt;
&lt;br /&gt;
  wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.5.tar.gz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. Uncompress the downloaded tar.gz and go into it&lt;br /&gt;
&lt;br /&gt;
  tar zxvf elasticsearch-1.7.5.tar.gz&lt;br /&gt;
  cd elasticsearch-1.7.5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6. Copy data from system wide installed elasticsearch, ot the temporary copy&lt;br /&gt;
&lt;br /&gt;
  cp /var/lib/elasticsearch data -rf&lt;br /&gt;
&lt;br /&gt;
7. Adjust file permissions&lt;br /&gt;
&lt;br /&gt;
  chown &amp;lt;your user&amp;gt;:&amp;lt;your group&amp;gt; data -R&lt;br /&gt;
&lt;br /&gt;
8. Launch the temporary elasticsearch instance&lt;br /&gt;
&lt;br /&gt;
  ./bin/elasticsearch -d -p elastic-tmp.pid -Des.http.port=9500&lt;br /&gt;
&lt;br /&gt;
9. Verify that the indexes were properly copied&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9500/_cat/indices?v&amp;quot;&lt;br /&gt;
&lt;br /&gt;
10. Remove elasticsearch 1.7.5 and it's files&lt;br /&gt;
&lt;br /&gt;
  Redhat: sudo yum remove elasticsearch&lt;br /&gt;
  Ubuntu: sudo apt-get remove elasticsearch&lt;br /&gt;
  rm -rf /var/lib/elasticsearch&lt;br /&gt;
&lt;br /&gt;
11. Upgrade archivematica and install elasticsearch 6&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -i hosts singlenode.yml --tags=elasticsearch,archivematica-src&lt;br /&gt;
&lt;br /&gt;
12. Configure ElasticSearch 6 to handle reindex from the temporary es &lt;br /&gt;
&lt;br /&gt;
  echo 'reindex.remote.whitelist: localhost:9500' | sudo tee -a /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
  sudo service elasticsearch restart&lt;br /&gt;
&lt;br /&gt;
13. Migrate the indexes&lt;br /&gt;
&lt;br /&gt;
  sudo -u archivematica bash -c &amp;quot; \&lt;br /&gt;
  set -a -e -x&lt;br /&gt;
  source /etc/default/archivematica-dashboard || \&lt;br /&gt;
  source /etc/sysconfig/archivematica-dashboard \&lt;br /&gt;
        || (echo 'Environment file not found'; exit 1)&lt;br /&gt;
  cd /usr/share/archivematica/dashboard&lt;br /&gt;
  /usr/share/archivematica/virtualenvs/archivematica-dashboard/bin/python manage.py reindex_from_remote_cluster http://localhost:9500&lt;br /&gt;
  &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
The command should finish with&lt;br /&gt;
  &lt;br /&gt;
  All reindex requests ended successfully!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
14. Verify that the new indexes were created and populated:&lt;br /&gt;
  &lt;br /&gt;
  curl -X GET &amp;quot;localhost:9200/_cat/indices?v&amp;quot; &lt;br /&gt;
  health status index         uuid                   pri rep docs.count docs.deleted store.size pri.store.size&lt;br /&gt;
  yellow open   aips          IL7lbAZFR9adKg-GpgepTw   5   1          1            0    135.8kb        135.8kb&lt;br /&gt;
  yellow open   transferfiles hlG1GBwIRNCi1rI74LhQpQ   5   1         23            0     49.1kb         49.1kb&lt;br /&gt;
  yellow open   transfers     ebRiOvutR_e7N4dNGoNq4w   5   1          1            0        6kb            6kb&lt;br /&gt;
  yellow open   aipfiles      2QFnLdr7Txi2qgG2C7-eJw   5   1         10            0    158.7kb        158.7kb&lt;br /&gt;
&lt;br /&gt;
You should have 4 indexes now, and the sum of the aips and aipfiles docs.count column should be equal to the doc.count for the aip index in ElasticSearch 1.7.5. The same happens with the transfers/transferfiles indexes.&lt;br /&gt;
&lt;br /&gt;
15. Stop the temporary elasticsearch service&lt;br /&gt;
&lt;br /&gt;
  kill $(cat ~/elasticsearch-1.7.5/elastic-tmp.pid)&lt;br /&gt;
&lt;br /&gt;
16. Restart all archivematica services&lt;br /&gt;
  &lt;br /&gt;
  service archivematica-dashboard restart&lt;br /&gt;
  service archivematica-mcp-server restart&lt;br /&gt;
  service archivematica-mcp-client restart&lt;br /&gt;
  service archivematica-storage-service restart&lt;/div&gt;</summary>
		<author><name>Scollazo</name></author>
	</entry>
	<entry>
		<id>https://wiki.archivematica.org/index.php?title=Update_ElasticSearch&amp;diff=12884</id>
		<title>Update ElasticSearch</title>
		<link rel="alternate" type="text/html" href="https://wiki.archivematica.org/index.php?title=Update_ElasticSearch&amp;diff=12884"/>
		<updated>2019-02-19T16:10:46Z</updated>

		<summary type="html">&lt;p&gt;Scollazo: /* ElasticSearch update */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= ElasticSearch update =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Check that ES is up and running, and note the results:&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9200/_cat/indices?v&amp;quot;&lt;br /&gt;
  health status index     pri rep docs.count docs.deleted store.size pri.store.size &lt;br /&gt;
  yellow open   aips        5   1         11            0    267.9kb        267.9kb &lt;br /&gt;
  yellow open   transfers   5   1         24            0     35.2kb         35.2kb &lt;br /&gt;
&lt;br /&gt;
2. Stop elasticsearch service&lt;br /&gt;
&lt;br /&gt;
  sudo service elasticsearch stop&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Download a temporary copy of elasticsearch (same version than intalled)&lt;br /&gt;
&lt;br /&gt;
  wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.5.tar.gz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4. Uncompress the downloaded tar.gz and go into it&lt;br /&gt;
&lt;br /&gt;
  tar zxvf elasticsearch-1.7.5.tar.gz&lt;br /&gt;
  cd elasticsearch-1.7.5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. Copy data from system wide installed elasticsearch, ot the temporary copy&lt;br /&gt;
&lt;br /&gt;
  cp /var/lib/elasticsearch data -rf&lt;br /&gt;
&lt;br /&gt;
6. Adjust file permissions&lt;br /&gt;
&lt;br /&gt;
  chown &amp;lt;your user&amp;gt;:&amp;lt;your group&amp;gt; data -R&lt;br /&gt;
&lt;br /&gt;
7. Launch the temporary elasticsearch instance&lt;br /&gt;
&lt;br /&gt;
  ./bin/elasticsearch -d -p elastic-tmp.pid -Des.http.port=9500&lt;br /&gt;
&lt;br /&gt;
8. Verify that the indexes were properly copied&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9500/_cat/indices?v&amp;quot;&lt;br /&gt;
&lt;br /&gt;
9. Remove elasticsearch 1.7.5 and it's files&lt;br /&gt;
&lt;br /&gt;
  Redhat: sudo yum remove elasticsearch&lt;br /&gt;
  Ubuntu: sudo apt-get remove elasticsearch&lt;br /&gt;
  rm -rf /var/lib/elasticsearch&lt;br /&gt;
&lt;br /&gt;
10. Upgrade archivematica and install elasticsearch 6&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -i hosts singlenode.yml --tags=elasticsearch,archivematica-src&lt;br /&gt;
&lt;br /&gt;
11. Configure ElasticSearch 6 to handle reindex from the temporary es &lt;br /&gt;
&lt;br /&gt;
  echo 'reindex.remote.whitelist: localhost:9500' | sudo tee -a /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
  sudo service elasticsearch restart&lt;br /&gt;
&lt;br /&gt;
12. Migrate the indexes&lt;br /&gt;
&lt;br /&gt;
  sudo -u archivematica bash -c &amp;quot; \&lt;br /&gt;
  set -a -e -x&lt;br /&gt;
  source /etc/default/archivematica-dashboard || \&lt;br /&gt;
  source /etc/sysconfig/archivematica-dashboard \&lt;br /&gt;
        || (echo 'Environment file not found'; exit 1)&lt;br /&gt;
  cd /usr/share/archivematica/dashboard&lt;br /&gt;
  /usr/share/archivematica/virtualenvs/archivematica-dashboard/bin/python manage.py reindex_from_remote_cluster http://localhost:9500&lt;br /&gt;
  &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
The command should finish with&lt;br /&gt;
  &lt;br /&gt;
  All reindex requests ended successfully!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
13. Verify that the new indexes were created and populated:&lt;br /&gt;
  &lt;br /&gt;
  curl -X GET &amp;quot;localhost:9200/_cat/indices?v&amp;quot; &lt;br /&gt;
  health status index         uuid                   pri rep docs.count docs.deleted store.size pri.store.size&lt;br /&gt;
  yellow open   aips          IL7lbAZFR9adKg-GpgepTw   5   1          1            0    135.8kb        135.8kb&lt;br /&gt;
  yellow open   transferfiles hlG1GBwIRNCi1rI74LhQpQ   5   1         23            0     49.1kb         49.1kb&lt;br /&gt;
  yellow open   transfers     ebRiOvutR_e7N4dNGoNq4w   5   1          1            0        6kb            6kb&lt;br /&gt;
  yellow open   aipfiles      2QFnLdr7Txi2qgG2C7-eJw   5   1         10            0    158.7kb        158.7kb&lt;br /&gt;
&lt;br /&gt;
You should have 4 indexes now, and the sum of the aips and aipfiles docs.count column should be equal to the doc.count for the aip index in ElasticSearch 1.7.5. The same happens with the transfers/transferfiles indexes.&lt;br /&gt;
&lt;br /&gt;
14. Stop the temporary elasticsearch service&lt;br /&gt;
&lt;br /&gt;
  kill $(cat ~/elasticsearch-1.7.5/elastic-tmp.pid)&lt;br /&gt;
&lt;br /&gt;
15. Restart all archivematica services&lt;br /&gt;
  &lt;br /&gt;
  service archivematica-dashboard restart&lt;br /&gt;
  service archivematica-mcp-server restart&lt;br /&gt;
  service archivematica-mcp-client restart&lt;br /&gt;
  service archivematica-storage-service restart&lt;/div&gt;</summary>
		<author><name>Scollazo</name></author>
	</entry>
	<entry>
		<id>https://wiki.archivematica.org/index.php?title=Update_ElasticSearch&amp;diff=12883</id>
		<title>Update ElasticSearch</title>
		<link rel="alternate" type="text/html" href="https://wiki.archivematica.org/index.php?title=Update_ElasticSearch&amp;diff=12883"/>
		<updated>2019-02-19T16:05:06Z</updated>

		<summary type="html">&lt;p&gt;Scollazo: /* ElasticSearch update */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= ElasticSearch update =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Check that ES is up and running, and note the results:&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9200/_cat/indices?v&amp;quot;&lt;br /&gt;
  health status index     pri rep docs.count docs.deleted store.size pri.store.size &lt;br /&gt;
  yellow open   aips        5   1         11            0    267.9kb        267.9kb &lt;br /&gt;
  yellow open   transfers   5   1         24            0     35.2kb         35.2kb &lt;br /&gt;
&lt;br /&gt;
2. Stop elasticsearch service&lt;br /&gt;
&lt;br /&gt;
  sudo service elasticsearch stop&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Download a temporary copy of elasticsearch (same version than intalled)&lt;br /&gt;
&lt;br /&gt;
  wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.5.tar.gz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4. Uncompress the downloaded tar.gz and go into it&lt;br /&gt;
&lt;br /&gt;
  tar zxvf elasticsearch-1.7.5.tar.gz&lt;br /&gt;
  cd elasticsearch-1.7.5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. Copy data from system wide installed elasticsearch, ot the temporary copy&lt;br /&gt;
&lt;br /&gt;
  cp /var/lib/elasticsearch data -rf&lt;br /&gt;
&lt;br /&gt;
6. Adjust file permissions&lt;br /&gt;
&lt;br /&gt;
  chown &amp;lt;your user&amp;gt;:&amp;lt;your group&amp;gt; data -R&lt;br /&gt;
&lt;br /&gt;
7. Launch the temporary elasticsearch instance&lt;br /&gt;
&lt;br /&gt;
  ./bin/elasticsearch -d -p elastic-tmp.pid -Des.http.port=9500&lt;br /&gt;
&lt;br /&gt;
8. Verify that the indexes were properly copied&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9500/_cat/indices?v&amp;quot;&lt;br /&gt;
&lt;br /&gt;
9. Remove elasticsearch 1.7.5 and it's files&lt;br /&gt;
&lt;br /&gt;
  Redhat: sudo yum remove elasticsearch&lt;br /&gt;
  Ubuntu: sudo apt-get remove elasticsearch&lt;br /&gt;
  rm -rf /var/lib/elasticsearch&lt;br /&gt;
&lt;br /&gt;
10. Upgrade archivematica and install elasticsearch 6&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -i hosts singlenode.yml --tags=elasticsearch,archivematica-src&lt;br /&gt;
&lt;br /&gt;
11. Configure ElasticSearch 6 to handle reindex from the temporary es &lt;br /&gt;
&lt;br /&gt;
  echo 'reindex.remote.whitelist: localhost:9500' | sudo tee -a /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
  sudo service elasticsearch restart&lt;br /&gt;
&lt;br /&gt;
12. Migrate the indexes&lt;br /&gt;
&lt;br /&gt;
  sudo -u archivematica bash -c &amp;quot; \&lt;br /&gt;
  set -a -e -x&lt;br /&gt;
  source /etc/default/archivematica-dashboard || \&lt;br /&gt;
  source /etc/sysconfig/archivematica-dashboard \&lt;br /&gt;
        || (echo 'Environment file not found'; exit 1)&lt;br /&gt;
  cd /usr/share/archivematica/dashboard&lt;br /&gt;
  /usr/share/archivematica/virtualenvs/archivematica-dashboard/bin/python manage.py reindex_from_remote_cluster http://localhost:9500&lt;br /&gt;
  &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
13. Verify that the new indexes were created and populated:&lt;br /&gt;
  &lt;br /&gt;
  curl -X GET &amp;quot;localhost:9200/_cat/indices?v&amp;quot; &lt;br /&gt;
  health status index         uuid                   pri rep docs.count docs.deleted store.size pri.store.size&lt;br /&gt;
  yellow open   aips          IL7lbAZFR9adKg-GpgepTw   5   1          1            0    135.8kb        135.8kb&lt;br /&gt;
  yellow open   transferfiles hlG1GBwIRNCi1rI74LhQpQ   5   1         23            0     49.1kb         49.1kb&lt;br /&gt;
  yellow open   transfers     ebRiOvutR_e7N4dNGoNq4w   5   1          1            0        6kb            6kb&lt;br /&gt;
  yellow open   aipfiles      2QFnLdr7Txi2qgG2C7-eJw   5   1         10            0    158.7kb        158.7kb&lt;br /&gt;
&lt;br /&gt;
You should have 4 indexes now, and the sum of the aips and aipfiles docs.count column should be equal to the doc.count for the aip index in ElasticSearch 1.7.5. The same happens with the transfers/transferfiles indexes.&lt;br /&gt;
&lt;br /&gt;
14. Stop the temporary elasticsearch service&lt;br /&gt;
&lt;br /&gt;
  kill $(cat ~/elasticsearch-1.7.5/elastic-tmp.pid)&lt;br /&gt;
&lt;br /&gt;
15. Restart all archivematica services&lt;br /&gt;
  &lt;br /&gt;
  service archivematica-dashboard restart&lt;br /&gt;
  service archivematica-mcp-server restart&lt;br /&gt;
  service archivematica-mcp-client restart&lt;br /&gt;
  service archivematica-storage-service restart&lt;/div&gt;</summary>
		<author><name>Scollazo</name></author>
	</entry>
	<entry>
		<id>https://wiki.archivematica.org/index.php?title=Update_ElasticSearch&amp;diff=12882</id>
		<title>Update ElasticSearch</title>
		<link rel="alternate" type="text/html" href="https://wiki.archivematica.org/index.php?title=Update_ElasticSearch&amp;diff=12882"/>
		<updated>2019-02-19T16:04:11Z</updated>

		<summary type="html">&lt;p&gt;Scollazo: /* ElasticSearch update */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= ElasticSearch update =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Check that ES is up and running, and note the results:&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9200/_cat/indices?v&amp;quot;&lt;br /&gt;
  health status index     pri rep docs.count docs.deleted store.size pri.store.size &lt;br /&gt;
  yellow open   aips        5   1         11            0    267.9kb        267.9kb &lt;br /&gt;
  yellow open   transfers   5   1         24            0     35.2kb         35.2kb &lt;br /&gt;
&lt;br /&gt;
2. Stop elasticsearch service&lt;br /&gt;
&lt;br /&gt;
  sudo service elasticsearch stop&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Download a temporary copy of elasticsearch (same version than intalled)&lt;br /&gt;
&lt;br /&gt;
  wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.5.tar.gz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4. Uncompress the downloaded tar.gz and go into it&lt;br /&gt;
&lt;br /&gt;
  tar zxvf elasticsearch-1.7.5.tar.gz&lt;br /&gt;
  cd elasticsearch-1.7.5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. Copy data from system wide installed elasticsearch, ot the temporary copy&lt;br /&gt;
&lt;br /&gt;
  cp /var/lib/elasticsearch data -rf&lt;br /&gt;
&lt;br /&gt;
6. Adjust file permissions&lt;br /&gt;
&lt;br /&gt;
  chown &amp;lt;your user&amp;gt;:&amp;lt;your group&amp;gt; data -R&lt;br /&gt;
&lt;br /&gt;
7. Launch the temporary elasticsearch instance&lt;br /&gt;
&lt;br /&gt;
  ./bin/elasticsearch -d -p elastic-tmp.pid -Des.http.port=9500&lt;br /&gt;
&lt;br /&gt;
8. Verify that the indexes were properly copied&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9500/_cat/indices?v&amp;quot;&lt;br /&gt;
&lt;br /&gt;
9. Remove elasticsearch 1.7.5 and it's files&lt;br /&gt;
&lt;br /&gt;
  Redhat: sudo yum remove elasticsearch&lt;br /&gt;
  Ubuntu: sudo apt-get remove elasticsearch&lt;br /&gt;
  rm -rf /var/lib/elasticsearch&lt;br /&gt;
&lt;br /&gt;
10. Upgrade archivematica and install elasticsearch 6&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -i hosts singlenode.yml --tags=elasticsearch,archivematica-src&lt;br /&gt;
&lt;br /&gt;
11. Configure ElasticSearch 6 to handle reindex from the temporary es &lt;br /&gt;
&lt;br /&gt;
  echo 'reindex.remote.whitelist: localhost:9500' | sudo tee -a /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
  sudo service elasticsearch restart&lt;br /&gt;
&lt;br /&gt;
12. Migrate the indexes&lt;br /&gt;
&lt;br /&gt;
  sudo -u archivematica bash -c &amp;quot; \&lt;br /&gt;
  set -a -e -x&lt;br /&gt;
  source /etc/default/archivematica-dashboard || \&lt;br /&gt;
  source /etc/sysconfig/archivematica-dashboard \&lt;br /&gt;
        || (echo 'Environment file not found'; exit 1)&lt;br /&gt;
  cd /usr/share/archivematica/dashboard&lt;br /&gt;
  /usr/share/archivematica/virtualenvs/archivematica-dashboard/bin/python manage.py reindex_from_remote_cluster http://localhost:9500&lt;br /&gt;
  &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
13. Verify that the sum of aips and aipfiles in the new ES index, is the same than in the previous one: &lt;br /&gt;
  &lt;br /&gt;
  curl -X GET &amp;quot;localhost:9200/_cat/indices?v&amp;quot; &lt;br /&gt;
  health status index         uuid                   pri rep docs.count docs.deleted store.size pri.store.size&lt;br /&gt;
  yellow open   aips          IL7lbAZFR9adKg-GpgepTw   5   1          1            0    135.8kb        135.8kb&lt;br /&gt;
  yellow open   transferfiles hlG1GBwIRNCi1rI74LhQpQ   5   1         23            0     49.1kb         49.1kb&lt;br /&gt;
  yellow open   transfers     ebRiOvutR_e7N4dNGoNq4w   5   1          1            0        6kb            6kb&lt;br /&gt;
  yellow open   aipfiles      2QFnLdr7Txi2qgG2C7-eJw   5   1         10            0    158.7kb        158.7kb&lt;br /&gt;
&lt;br /&gt;
You should have 4 indexes now, and the sum of the aips and aipfiles docs.count column should be equal to the doc.count for the aip index in ElasticSearch 1.7.5. The same happens with the transfers/transferfiles indexes.&lt;br /&gt;
&lt;br /&gt;
14. Stop the temporary elasticsearch service&lt;br /&gt;
&lt;br /&gt;
  kill $(cat ~/elasticsearch-1.7.5/elastic-tmp.pid)&lt;br /&gt;
&lt;br /&gt;
15. Restart all archivematica services&lt;br /&gt;
  &lt;br /&gt;
  service archivematica-dashboard restart&lt;br /&gt;
  service archivematica-mcp-server restart&lt;br /&gt;
  service archivematica-mcp-client restart&lt;br /&gt;
  service archivematica-storage-service restart&lt;/div&gt;</summary>
		<author><name>Scollazo</name></author>
	</entry>
	<entry>
		<id>https://wiki.archivematica.org/index.php?title=Update_ElasticSearch&amp;diff=12881</id>
		<title>Update ElasticSearch</title>
		<link rel="alternate" type="text/html" href="https://wiki.archivematica.org/index.php?title=Update_ElasticSearch&amp;diff=12881"/>
		<updated>2019-02-19T15:59:51Z</updated>

		<summary type="html">&lt;p&gt;Scollazo: /* ElasticSearch update */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= ElasticSearch update =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Check that ES is up and running, and note the results:&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9200/_cat/indices?v&amp;quot;&lt;br /&gt;
  health status index     pri rep docs.count docs.deleted store.size pri.store.size &lt;br /&gt;
  yellow open   aips        5   1         11            0    267.9kb        267.9kb &lt;br /&gt;
  yellow open   transfers   5   1         24            0     35.2kb         35.2kb &lt;br /&gt;
&lt;br /&gt;
2. Stop elasticsearch service&lt;br /&gt;
&lt;br /&gt;
  sudo service elasticsearch stop&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Download a temporary copy of elasticsearch (same version than intalled)&lt;br /&gt;
&lt;br /&gt;
  wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.5.tar.gz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4. Uncompress the downloaded tar.gz and go into it&lt;br /&gt;
&lt;br /&gt;
  tar zxvf elasticsearch-1.7.5.tar.gz&lt;br /&gt;
  cd elasticsearch-1.7.5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. Copy data from system wide installed elasticsearch, ot the temporary copy&lt;br /&gt;
&lt;br /&gt;
  cp /var/lib/elasticsearch data -rf&lt;br /&gt;
&lt;br /&gt;
6. Adjust file permissions&lt;br /&gt;
&lt;br /&gt;
  chown &amp;lt;your user&amp;gt;:&amp;lt;your group&amp;gt; data -R&lt;br /&gt;
&lt;br /&gt;
7. Launch the temporary elasticsearch instance&lt;br /&gt;
&lt;br /&gt;
  ./bin/elasticsearch -d -p elastic-tmp.pid -Des.http.port=9500&lt;br /&gt;
&lt;br /&gt;
8. Verify that the indexes were properly copied&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9500/_cat/indices?v&amp;quot;&lt;br /&gt;
&lt;br /&gt;
9. Remove elasticsearch 1.7.5 and it's files&lt;br /&gt;
&lt;br /&gt;
  Redhat: sudo yum remove elasticsearch&lt;br /&gt;
  Ubuntu: sudo apt-get remove elasticsearch&lt;br /&gt;
  rm -rf /var/lib/elasticsearch&lt;br /&gt;
&lt;br /&gt;
10. Upgrade archivematica and install elasticsearch 6&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -i hosts singlenode.yml --tags=elasticsearch,archivematica-src&lt;br /&gt;
&lt;br /&gt;
11. Configure ElasticSearch 6 to handle reindex from the temporary es &lt;br /&gt;
&lt;br /&gt;
  echo 'reindex.remote.whitelist: localhost:9500' | sudo tee -a /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
  sudo service elasticsearch restart&lt;br /&gt;
&lt;br /&gt;
12. Migrate the indexes&lt;br /&gt;
&lt;br /&gt;
  sudo -u archivematica bash -c &amp;quot; \&lt;br /&gt;
  set -a -e -x&lt;br /&gt;
  source /etc/default/archivematica-dashboard || \&lt;br /&gt;
  source /etc/sysconfig/archivematica-dashboard \&lt;br /&gt;
        || (echo 'Environment file not found'; exit 1)&lt;br /&gt;
  cd /usr/share/archivematica/dashboard&lt;br /&gt;
  /usr/share/archivematica/virtualenvs/archivematica-dashboard/bin/python manage.py reindex_from_remote_cluster http://localhost:9500&lt;br /&gt;
  &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
13. Verify that the sum of aips and aipfiles in the new ES index, is the same than in the previous one: &lt;br /&gt;
  &lt;br /&gt;
  TBD&lt;br /&gt;
&lt;br /&gt;
14. Stop the temporary elasticsearch service&lt;br /&gt;
&lt;br /&gt;
  kill $(cat ~/elasticsearch-1.7.5/elastic-tmp.pid)&lt;/div&gt;</summary>
		<author><name>Scollazo</name></author>
	</entry>
	<entry>
		<id>https://wiki.archivematica.org/index.php?title=Update_ElasticSearch&amp;diff=12880</id>
		<title>Update ElasticSearch</title>
		<link rel="alternate" type="text/html" href="https://wiki.archivematica.org/index.php?title=Update_ElasticSearch&amp;diff=12880"/>
		<updated>2019-02-19T15:59:05Z</updated>

		<summary type="html">&lt;p&gt;Scollazo: /* ElasticSearch update */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= ElasticSearch update =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Check that ES is up and running, and note the results:&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9200/_cat/indices?v&amp;quot;&lt;br /&gt;
  health status index     pri rep docs.count docs.deleted store.size pri.store.size &lt;br /&gt;
  yellow open   aips        5   1         11            0    267.9kb        267.9kb &lt;br /&gt;
  yellow open   transfers   5   1         24            0     35.2kb         35.2kb &lt;br /&gt;
&lt;br /&gt;
2. Stop elasticsearch service&lt;br /&gt;
&lt;br /&gt;
  sudo service elasticsearch stop&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Download a temporary copy of elasticsearch (same version than intalled)&lt;br /&gt;
&lt;br /&gt;
  wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.5.tar.gz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4. Uncompress the downloaded tar.gz and go into it&lt;br /&gt;
&lt;br /&gt;
  tar zxvf elasticsearch-1.7.5.tar.gz&lt;br /&gt;
  cd elasticsearch-1.7.5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. Copy data from system wide installed elasticsearch, ot the temporary copy&lt;br /&gt;
&lt;br /&gt;
  cp /var/lib/elasticsearch data -rf&lt;br /&gt;
&lt;br /&gt;
6. Adjust file permissions&lt;br /&gt;
&lt;br /&gt;
  chown &amp;lt;your user&amp;gt;:&amp;lt;your group&amp;gt; data -R&lt;br /&gt;
&lt;br /&gt;
7. Launch the temporary elasticsearch instance&lt;br /&gt;
&lt;br /&gt;
  ./bin/elasticsearch -d -p elastic-tmp.pid -Des.http.port=9500&lt;br /&gt;
&lt;br /&gt;
8. Verify that the indexes were properly copied&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9500/_cat/indices?v&amp;quot;&lt;br /&gt;
&lt;br /&gt;
9. Remove elasticsearch 1.7.5 and it's files&lt;br /&gt;
&lt;br /&gt;
  Redhat: sudo yum remove elasticsearch&lt;br /&gt;
  Ubuntu: sudo apt-get remove elasticsearch&lt;br /&gt;
  rm -rf /var/lib/elasticsearch&lt;br /&gt;
&lt;br /&gt;
10. Upgrade archivematica and install elasticsearch 6&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -i hosts singlenode.yml --tags=elasticsearch,archivematica-src&lt;br /&gt;
&lt;br /&gt;
11. Configure ElasticSearch 6 to handle reindex from the temporary es &lt;br /&gt;
&lt;br /&gt;
  echo 'reindex.remote.whitelist: localhost:9500' | sudo tee -a /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
  sudo service elasticsearch restart&lt;br /&gt;
&lt;br /&gt;
12. Migrate the indexes&lt;br /&gt;
&lt;br /&gt;
  sudo -u archivematica bash -c &amp;quot; \&lt;br /&gt;
  set -a -e -x&lt;br /&gt;
  source /etc/default/archivematica-dashboard || \&lt;br /&gt;
  source /etc/sysconfig/archivematica-dashboard \&lt;br /&gt;
        || (echo 'Environment file not found'; exit 1)&lt;br /&gt;
  cd /usr/share/archivematica/dashboard&lt;br /&gt;
  /usr/share/archivematica/virtualenvs/archivematica-dashboard/bin/python manage.py \ &lt;br /&gt;
    reindex_from_remote_cluster http://localhost:9500&lt;br /&gt;
  &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
13. Verify that the sum of aips and aipfiles in the new ES index, is the same than in the previous one: &lt;br /&gt;
  &lt;br /&gt;
  TBD&lt;br /&gt;
&lt;br /&gt;
14. Stop the temporary elasticsearch service&lt;br /&gt;
&lt;br /&gt;
  kill $(cat ~/elasticsearch-1.7.5/elastic-tmp.pid)&lt;/div&gt;</summary>
		<author><name>Scollazo</name></author>
	</entry>
	<entry>
		<id>https://wiki.archivematica.org/index.php?title=Update_ElasticSearch&amp;diff=12879</id>
		<title>Update ElasticSearch</title>
		<link rel="alternate" type="text/html" href="https://wiki.archivematica.org/index.php?title=Update_ElasticSearch&amp;diff=12879"/>
		<updated>2019-02-19T15:42:22Z</updated>

		<summary type="html">&lt;p&gt;Scollazo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= ElasticSearch update =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Check that ES is up and running, and note the results:&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9200/_cat/indices?v&amp;quot;&lt;br /&gt;
  health status index     pri rep docs.count docs.deleted store.size pri.store.size &lt;br /&gt;
  yellow open   aips        5   1         11            0    267.9kb        267.9kb &lt;br /&gt;
  yellow open   transfers   5   1         24            0     35.2kb         35.2kb &lt;br /&gt;
&lt;br /&gt;
2. Stop elasticsearch service&lt;br /&gt;
&lt;br /&gt;
  sudo service elasticsearch stop&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Download a temporary copy of elasticsearch (same version than intalled)&lt;br /&gt;
&lt;br /&gt;
  wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.5.tar.gz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4. Uncompress the downloaded tar.gz and go into it&lt;br /&gt;
&lt;br /&gt;
  tar zxvf elasticsearch-1.7.5.tar.gz&lt;br /&gt;
  cd elasticsearch-1.7.5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. Copy data from system wide installed elasticsearch, ot the temporary copy&lt;br /&gt;
&lt;br /&gt;
  cp /var/lib/elasticsearch data -rf&lt;br /&gt;
&lt;br /&gt;
6. Adjust file permissions&lt;br /&gt;
&lt;br /&gt;
  chown &amp;lt;your user&amp;gt;:&amp;lt;your group&amp;gt; data -R&lt;br /&gt;
&lt;br /&gt;
7. Launch the temporary elasticsearch instance&lt;br /&gt;
&lt;br /&gt;
  ./bin/elasticsearch -d -p elastic-tmp.pid -Des.http.port=9500&lt;br /&gt;
&lt;br /&gt;
8. Verify that the indexes were properly copied&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9500/_cat/indices?v&amp;quot;&lt;br /&gt;
&lt;br /&gt;
9. Remove elasticsearch 1.7.5 and it's files&lt;br /&gt;
&lt;br /&gt;
  Redhat: sudo yum remove elasticsearch&lt;br /&gt;
  Ubuntu: sudo apt-get remove elasticsearch&lt;br /&gt;
  rm -rf /var/lib/elasticsearch&lt;br /&gt;
&lt;br /&gt;
10. Upgrade archivematica and install elasticsearch 6&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -i hosts singlenode.yml --tags=elasticsearch,archivematica-src&lt;br /&gt;
&lt;br /&gt;
11. Configure ElasticSearch 6 to handle reindex from the temporary es &lt;br /&gt;
&lt;br /&gt;
  echo 'reindex.remote.whitelist: localhost:9500' | sudo tee -a /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
  sudo service elasticsearch restart&lt;br /&gt;
&lt;br /&gt;
12. Migrate the indexes&lt;br /&gt;
&lt;br /&gt;
  sudo -u archivematica bash -c &amp;quot; \&lt;br /&gt;
  set -a -e -x&lt;br /&gt;
  source /etc/default/archivematica-dashboard || \&lt;br /&gt;
  source /etc/sysconfig/archivematica-dashboard \&lt;br /&gt;
        || (echo 'Environment file not found'; exit 1)&lt;br /&gt;
  cd /usr/share/archivematica/dashboard&lt;br /&gt;
  /usr/share/archivematica/virtualenvs/archivematica-dashboard/bin/python manage.py manage.py \ &lt;br /&gt;
    reindex_from_remote_cluster http://localhost:9500&lt;br /&gt;
  &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
13. Verify that the sum of aips and aipfiles in the new ES index, is the same than in the previous one: &lt;br /&gt;
  &lt;br /&gt;
  TBD&lt;br /&gt;
&lt;br /&gt;
14. Stop the temporary elasticsearch service&lt;br /&gt;
&lt;br /&gt;
  kill $(cat ~/elasticsearch-1.7.5/elastic-tmp.pid)&lt;/div&gt;</summary>
		<author><name>Scollazo</name></author>
	</entry>
	<entry>
		<id>https://wiki.archivematica.org/index.php?title=Update_ElasticSearch&amp;diff=12878</id>
		<title>Update ElasticSearch</title>
		<link rel="alternate" type="text/html" href="https://wiki.archivematica.org/index.php?title=Update_ElasticSearch&amp;diff=12878"/>
		<updated>2019-02-19T10:44:31Z</updated>

		<summary type="html">&lt;p&gt;Scollazo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= ElasticSearch update =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Check that ES is up and running, and note the results:&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9200/_cat/indices?v&amp;quot;&lt;br /&gt;
  health status index     pri rep docs.count docs.deleted store.size pri.store.size &lt;br /&gt;
  yellow open   aips        5   1         11            0    267.9kb        267.9kb &lt;br /&gt;
  yellow open   transfers   5   1         24            0     35.2kb         35.2kb &lt;br /&gt;
&lt;br /&gt;
2. Stop elasticsearch service&lt;br /&gt;
&lt;br /&gt;
  sudo service elasticsearch stop&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Download a temporary copy of elasticsearch (same version than intalled)&lt;br /&gt;
&lt;br /&gt;
  wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.5.tar.gz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4. Uncompress the downloaded tar.gz and go into it&lt;br /&gt;
&lt;br /&gt;
  tar zxvf elasticsearch-1.7.5.tar.gz&lt;br /&gt;
  cd elasticsearch-1.7.5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. Copy data from system wide installed elasticsearch, ot the temporary copy&lt;br /&gt;
&lt;br /&gt;
  cp /var/lib/elasticsearch data -rf&lt;br /&gt;
&lt;br /&gt;
6. Adjust file permissions&lt;br /&gt;
&lt;br /&gt;
  chown &amp;lt;your user&amp;gt;:&amp;lt;your group&amp;gt; data -R&lt;br /&gt;
&lt;br /&gt;
7. Launch the temporary elasticsearch instance&lt;br /&gt;
&lt;br /&gt;
  ./bin/elasticsearch -d -p elastic-tmp.pid -Des.http.port=9500&lt;br /&gt;
&lt;br /&gt;
8. Verify that the indexes were properly copied&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9500/_cat/indices?v&amp;quot;&lt;br /&gt;
&lt;br /&gt;
9. Remove elasticsearch 1.7.5 and it's files&lt;br /&gt;
&lt;br /&gt;
  Redhat: sudo yum remove elasticsearch&lt;br /&gt;
  Ubuntu: sudo apt-get remove elasticsearch&lt;br /&gt;
  rm -rf /var/lib/elasticsearch&lt;br /&gt;
&lt;br /&gt;
10. Upgrade archivematica and install elasticsearch 6&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -i hosts singlenode.yml --tags=elasticsearch,archivematica-src&lt;br /&gt;
&lt;br /&gt;
11. Configure ElasticSearch 6 to handle reindex from the temporary es &lt;br /&gt;
&lt;br /&gt;
  echo 'reindex.remote.whitelist: localhost:9500' | sudo tee -a /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
  sudo service elasticsearch restart&lt;br /&gt;
&lt;br /&gt;
12. Migrate the indexes&lt;br /&gt;
&lt;br /&gt;
  sudo su - archivematica -s /bin/bash&lt;br /&gt;
  export $(cat /etc/sysconfig/archivematica-dashboard)&lt;br /&gt;
  cd /usr/share/archivematica/dashboar&lt;br /&gt;
  /usr/share/archivematica/virtualenvs/archivematica-dashboard/bin/python manage.py reindex_from_remote_cluster http://localhost:9500&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
13. Stop the temporary elasticsearch service&lt;br /&gt;
&lt;br /&gt;
  kill $(cat ~/elasticsearch-1.7.5/elastic-tmp.pid)&lt;/div&gt;</summary>
		<author><name>Scollazo</name></author>
	</entry>
	<entry>
		<id>https://wiki.archivematica.org/index.php?title=Update_ElasticSearch&amp;diff=12877</id>
		<title>Update ElasticSearch</title>
		<link rel="alternate" type="text/html" href="https://wiki.archivematica.org/index.php?title=Update_ElasticSearch&amp;diff=12877"/>
		<updated>2019-02-19T10:37:23Z</updated>

		<summary type="html">&lt;p&gt;Scollazo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= ElasticSearch update =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Check that ES is up and running, and note the results:&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9200/_cat/indices?v&amp;quot;&lt;br /&gt;
  health status index     pri rep docs.count docs.deleted store.size pri.store.size &lt;br /&gt;
  yellow open   aips        5   1         11            0    267.9kb        267.9kb &lt;br /&gt;
  yellow open   transfers   5   1         24            0     35.2kb         35.2kb &lt;br /&gt;
&lt;br /&gt;
2. Stop elasticsearch service&lt;br /&gt;
&lt;br /&gt;
  sudo service elasticsearch stop&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Download a temporary copy of elasticsearch (same version than intalled)&lt;br /&gt;
&lt;br /&gt;
  wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.5.tar.gz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4. Uncompress the downloaded tar.gz and go into it&lt;br /&gt;
&lt;br /&gt;
  tar zxvf elasticsearch-1.7.5.tar.gz&lt;br /&gt;
  cd elasticsearch-1.7.5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. Copy data from system wide installed elasticsearch, ot the temporary copy&lt;br /&gt;
&lt;br /&gt;
  cp /var/lib/elasticsearch data -rf&lt;br /&gt;
&lt;br /&gt;
6. Adjust file permissions&lt;br /&gt;
&lt;br /&gt;
  chown &amp;lt;your user&amp;gt;:&amp;lt;your group&amp;gt; data -R&lt;br /&gt;
&lt;br /&gt;
7. Launch the temporary elasticsearch instance&lt;br /&gt;
&lt;br /&gt;
  ./bin/elasticsearch -d -p elastic-tmp.pid -Des.http.port=9500&lt;br /&gt;
&lt;br /&gt;
8. Verify that the indexes were properly copied&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9500/_cat/indices?v&amp;quot;&lt;br /&gt;
&lt;br /&gt;
9. Remove elasticsearch 1.7.5 and it's files&lt;br /&gt;
&lt;br /&gt;
  Redhat: sudo yum remove elasticsearch&lt;br /&gt;
  Ubuntu: sudo apt-get remove elasticsearch&lt;br /&gt;
  rm -rf /var/lib/elasticsearch&lt;br /&gt;
&lt;br /&gt;
10. Upgrade archivematica and install elasticsearch 6&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -i hosts singlenode.yml --tags=elasticsearch,archivematica-src&lt;br /&gt;
&lt;br /&gt;
11. Configure ElasticSearch 6 to handle reindex from the temporary es &lt;br /&gt;
&lt;br /&gt;
  echo 'reindex.remote.whitelist: localhost:9500' | sudo tee -a /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
  sudo service elasticsearch restart&lt;br /&gt;
&lt;br /&gt;
12. Migrate the indexes&lt;br /&gt;
&lt;br /&gt;
  sudo su - archivematica -s /bin/bash&lt;br /&gt;
  export $(cat /etc/sysconfig/archivematica-dashboard)&lt;br /&gt;
  cd /usr/share/archivematica/dashboar&lt;br /&gt;
  /usr/share/archivematica/virtualenvs/archivematica-dashboard/bin/python manage.py reindex_from_remote_cluster http://localhost:9500&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
13. Stop the temporary elasticsearch service&lt;br /&gt;
&lt;br /&gt;
  kill $(cat elasticsearch-1.7.5/elastic-tmp.pid)&lt;/div&gt;</summary>
		<author><name>Scollazo</name></author>
	</entry>
	<entry>
		<id>https://wiki.archivematica.org/index.php?title=Update_ElasticSearch&amp;diff=12876</id>
		<title>Update ElasticSearch</title>
		<link rel="alternate" type="text/html" href="https://wiki.archivematica.org/index.php?title=Update_ElasticSearch&amp;diff=12876"/>
		<updated>2019-02-19T10:27:47Z</updated>

		<summary type="html">&lt;p&gt;Scollazo: Created page with &amp;quot;= ElasticSearch update =     1. Check that ES is up and running, and note the results:    curl -X GET &amp;quot;localhost:9200/_cat/indices?v&amp;quot;   health status index     pri rep docs.co...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= ElasticSearch update =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Check that ES is up and running, and note the results:&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9200/_cat/indices?v&amp;quot;&lt;br /&gt;
  health status index     pri rep docs.count docs.deleted store.size pri.store.size &lt;br /&gt;
  yellow open   aips        5   1         11            0    267.9kb        267.9kb &lt;br /&gt;
  yellow open   transfers   5   1         24            0     35.2kb         35.2kb &lt;br /&gt;
&lt;br /&gt;
2. Stop elasticsearch service&lt;br /&gt;
&lt;br /&gt;
  sudo service elasticsearch stop&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Download a temporary copy of elasticsearch (same version than intalled)&lt;br /&gt;
&lt;br /&gt;
  wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.5.tar.gz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4. Uncompress the downloaded tar.gz and go into it&lt;br /&gt;
&lt;br /&gt;
  tar zxvf elasticsearch-1.7.5.tar.gz&lt;br /&gt;
  cd elasticsearch-1.7.5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. Copy data from system wide installed elasticsearch, ot the temporary copy&lt;br /&gt;
&lt;br /&gt;
  cp /var/lib/elasticsearch data -rf&lt;br /&gt;
&lt;br /&gt;
6. Adjust file permissions&lt;br /&gt;
&lt;br /&gt;
  chown &amp;lt;your user&amp;gt;:&amp;lt;your group&amp;gt; data -R&lt;br /&gt;
&lt;br /&gt;
7. Launch the temporary elasticsearch instance&lt;br /&gt;
&lt;br /&gt;
  ./bin/elasticsearch -d -p elastic-tmp.pid -Des.http.port=9500&lt;br /&gt;
&lt;br /&gt;
8. Verify that the indexes were properly copied&lt;br /&gt;
&lt;br /&gt;
  curl -X GET &amp;quot;localhost:9500/_cat/indices?v&amp;quot;&lt;br /&gt;
&lt;br /&gt;
9. Remove elasticsearch 1.7.5 and it's files&lt;br /&gt;
&lt;br /&gt;
  Redhat: sudo yum remove elasticsearch&lt;br /&gt;
  Ubuntu: sudo apt-get remove elasticsearch&lt;br /&gt;
  rm -rf /var/lib/elasticsearch&lt;br /&gt;
&lt;br /&gt;
10. Upgrade archivematica and install elasticsearch 6&lt;br /&gt;
&lt;br /&gt;
11. Configure ElasticSearch 6 to handle reindex from the temporary es &lt;br /&gt;
&lt;br /&gt;
  echo 'reindex.remote.whitelist: localhost:9500' | sudo tee -a /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
  sudo service elasticsearch restart&lt;br /&gt;
&lt;br /&gt;
12. Migrate the indexes&lt;br /&gt;
&lt;br /&gt;
  sudo su - archivematica -s /bin/bash&lt;br /&gt;
  export $(cat /etc/sysconfig/archivematica-dashboard)&lt;br /&gt;
  cd /usr/share/archivematica/dashboar&lt;br /&gt;
  /usr/share/archivematica/virtualenvs/archivematica-dashboard/bin/python manage.py reindex_from_remote_cluster http://localhost:9500&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
13. Stop the temporary elasticsearch service&lt;br /&gt;
&lt;br /&gt;
  kill $(cat elasticsearch-1.7.5/elastic-tmp.pid)&lt;/div&gt;</summary>
		<author><name>Scollazo</name></author>
	</entry>
	<entry>
		<id>https://wiki.archivematica.org/index.php?title=Release_Process&amp;diff=12341</id>
		<title>Release Process</title>
		<link rel="alternate" type="text/html" href="https://wiki.archivematica.org/index.php?title=Release_Process&amp;diff=12341"/>
		<updated>2018-03-26T14:40:58Z</updated>

		<summary type="html">&lt;p&gt;Scollazo: /* Debian packages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is an outline/checklist of the process to create Archivematica &amp;amp; Storage service releases.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
# Merge new features&lt;br /&gt;
# Test new features&lt;br /&gt;
# [[#Update PRONOM]]&lt;br /&gt;
# Write documentation&lt;br /&gt;
# Update dependencies&lt;br /&gt;
# [[#Build deb/rpm packages]]&lt;br /&gt;
# Test packages for new installs and upgrades&lt;br /&gt;
# [[#Tag Release]]&lt;br /&gt;
# Update ansible roles&lt;br /&gt;
# Announce release&lt;br /&gt;
&lt;br /&gt;
== Translations ==&lt;br /&gt;
&lt;br /&gt;
'''Needs to be improved!'''&lt;br /&gt;
&lt;br /&gt;
* Determine code freeze / call for translations process&lt;br /&gt;
* Describe processes: push and pull - and when it needs to happen&lt;br /&gt;
* We made a choice on how we're using Transifex to keep things simple: only one branch at a time pushed to Transifex. E.g. once SS 0.10.0 is released we have to decide if:&lt;br /&gt;
*# We move Transifex to stable/0.10.x for a while so we can work on a minor release with translation fixes (e.g. 0.10.1), or&lt;br /&gt;
*# We move to qa/0.11.x which would only make possible to bring new translations to SS 0.11.0.&lt;br /&gt;
* Affected repositories&lt;br /&gt;
** archivematica-storage-service&lt;br /&gt;
** archivematica-workflow&lt;br /&gt;
** archivematica-dashboard&lt;br /&gt;
*** Includes archivematica-fpr-admin&lt;br /&gt;
*** Includes appraisal-tab&lt;br /&gt;
&lt;br /&gt;
== Update PRONOM ==&lt;br /&gt;
&lt;br /&gt;
PRONOM needs to be updated in our file identification tools, FIDO &amp;amp; Siegfried, as well as in the FPR.&lt;br /&gt;
&lt;br /&gt;
=== Update FIDO ===&lt;br /&gt;
&lt;br /&gt;
The FPR update currently use FIDO as a source for new PRONOM, since it is formatted nicer than PRONOM offers, so we depend on FIDO having updated their PRONOM.  If that has not happened, we can generate a new formats-v##.xml by updating signatures manually. Artefactual can also update PRONOM and submit a PR to FIDO.&lt;br /&gt;
&lt;br /&gt;
# Checkout fido from https://github.com/openpreserve/fido&lt;br /&gt;
# Update signatures&lt;br /&gt;
#* Run &amp;lt;code&amp;gt;python2 -m fido.update_signatures&amp;lt;/code&amp;gt; from the fido repository root&lt;br /&gt;
# Add:&lt;br /&gt;
#* New signature file &amp;lt;code&amp;gt;fido/conf/DROID_SignatureFile-v##.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
#* New formats file &amp;lt;code&amp;gt;fido/conf/formats-v##.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
#* New PRONOM zip file &amp;lt;code&amp;gt;fido/conf/pronom-xml-v##.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Updated &amp;lt;code&amp;gt;fido/conf/versions.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
# Remove:&lt;br /&gt;
#* Old signature file&lt;br /&gt;
#* Old formats file&lt;br /&gt;
#* Old PRONOM zip file&lt;br /&gt;
# Update &amp;lt;code&amp;gt;fido/fido.py&amp;lt;/code&amp;gt; to point to the new format_files&lt;br /&gt;
# Create pull request.  This may trigger a release from FIDO&lt;br /&gt;
&lt;br /&gt;
Also consider:&lt;br /&gt;
* Update the container signatures (download here: https://www.nationalarchives.gov.uk/aboutapps/pronom/droid-signature-files.htm)&lt;br /&gt;
* See this pull request submitted to update to PRONOM 90: https://github.com/openpreserve/fido/pull/110&lt;br /&gt;
** Notice that it also updates the container signatures&lt;br /&gt;
* Remember to publish the wheel to pypi! https://pypi.python.org/pypi/opf-fido (see the Makefile)&lt;br /&gt;
&lt;br /&gt;
=== Package FIDO ===&lt;br /&gt;
&lt;br /&gt;
First, clone the [https://github.com/artefactual-labs/am-packbuild/  am-packbuild]  repo. The most recent work has been done in branch dev/packages-1.6-docker, and needs to be merged into main.&lt;br /&gt;
&lt;br /&gt;
Update the Makefiles available at &amp;lt;code&amp;gt;rpm/fido/Makefile&amp;lt;/code&amp;gt;, and  &amp;lt;code&amp;gt;deb/fido/Makefile&amp;lt;/code&amp;gt; , and run &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; in each directory to build the packages.&lt;br /&gt;
&lt;br /&gt;
=== Package Siegfried ===&lt;br /&gt;
&lt;br /&gt;
First, clone the [https://github.com/artefactual-labs/am-packbuild/  am-packbuild]  repo. The most recent work has been done in branch dev/packages-1.6-docker, and needs to be merged into main.&lt;br /&gt;
&lt;br /&gt;
Update the Makefiles available at &amp;lt;code&amp;gt;rpm/siegfried/Makefile&amp;lt;/code&amp;gt;, and  &amp;lt;code&amp;gt;deb/siegfried/Makefile&amp;lt;/code&amp;gt; , and run &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; in each directory to build the packages.&lt;br /&gt;
&lt;br /&gt;
=== Update FPR ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;text-alert&amp;quot;&amp;gt;&lt;br /&gt;
* In https://github.com/artefactual/archivematica-fpr-admin/pull/51, the devtools used here to generate the migration were included in archivematica-fpr-admin as django-admin management tools.&lt;br /&gt;
* At the end of the process: '''remember''' to remove &amp;quot;pk&amp;quot;s from the final migration fixture! E.g. see PR #55&lt;br /&gt;
* Examples&lt;br /&gt;
** PRONOM 92:&lt;br /&gt;
*** https://github.com/artefactual/archivematica-fpr-admin/pull/63&lt;br /&gt;
*** ???&lt;br /&gt;
** PRONOM 90:&lt;br /&gt;
*** https://github.com/artefactual/archivematica-fpr-admin/pull/51&lt;br /&gt;
*** https://github.com/artefactual/archivematica-fpr-admin/pull/55&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This process is currently more convoluted than it needs to be, and should be simplified.&lt;br /&gt;
&lt;br /&gt;
This depends on FIDO having updated their PRONOM files. See [[#Update FIDO]]&lt;br /&gt;
&lt;br /&gt;
# Install the latest stable Archivematica release&lt;br /&gt;
# Generate a JSON with the current version of the FPR (for use later)&lt;br /&gt;
#* &amp;lt;code&amp;gt;./src/dashboard/src/manage.py dumpdata fpr &amp;gt; fpr-current.json&amp;lt;/code&amp;gt;&lt;br /&gt;
# Install the latest development version of Archivematica&lt;br /&gt;
# Generate a blank data migration in the FPR-admin module&lt;br /&gt;
#* E.g. &amp;lt;code&amp;gt;./src/dashboard/src/manage.py makemigrations --empty --name pronom_89 fpr&amp;lt;/code&amp;gt;&lt;br /&gt;
# Generate the FPR migration body.  This also updates the local database's FPR with the new PRONOM IDs&lt;br /&gt;
#* E.g. &amp;lt;code&amp;gt;am import-pronom-ids fido/fido/conf/formats-v89.xml --output-filename archivematica/pronom89.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
# Copy the output into the blank migration, add RunPython operation&lt;br /&gt;
#* &amp;lt;code&amp;gt;migrations.RunPython(data_migration),&amp;lt;/code&amp;gt;&lt;br /&gt;
# Due to a [https://projects.artefactual.com/issues/10466#change-46673 bug], fix the imports&lt;br /&gt;
#* Remove the &amp;lt;code&amp;gt;apps.get_model&amp;lt;/code&amp;gt; lines&lt;br /&gt;
#* Import the models directly with &amp;lt;code&amp;gt;from fpr.models import Format, FormatVersion, IDRule&amp;lt;/code&amp;gt;&lt;br /&gt;
# Commit&lt;br /&gt;
# Deploy on testing pipeline&lt;br /&gt;
# (Analysts) Update the new entries&lt;br /&gt;
#* '''Ask to edit ONLY entries added by the latest PRONOM update otherwise the fixture won't work properly'''&lt;br /&gt;
#* Move new formats to a more appropriate category&lt;br /&gt;
#* Create rules &amp;amp; commands&lt;br /&gt;
#* Test with data for new formats&lt;br /&gt;
# Generate a JSON with the updated version of the FPR on the testing pipeline&lt;br /&gt;
#* &amp;lt;code&amp;gt;./src/dashboard/src/manage.py dumpdata fpr &amp;gt; fpr-updated.json&amp;lt;/code&amp;gt;&lt;br /&gt;
# Get the updates as JSON&lt;br /&gt;
#* E.g. &amp;lt;code&amp;gt;am get-fpr-changes fpr-current.json fpr-updated.json src/dashboard/src/fpr/migrations/pronom_89.json&amp;lt;/code&amp;gt;&lt;br /&gt;
# Update the migration to load the JSON updates&lt;br /&gt;
#* Replace the contents of the data migration function with&lt;br /&gt;
#** &amp;lt;code&amp;gt;fixture_file = os.path.join(os.path.dirname(__file__), 'pronom_89.json')&amp;lt;/code&amp;gt;&lt;br /&gt;
#** &amp;lt;code&amp;gt;call_command('loaddata', fixture_file, app_label='fpr')&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Remove the direct imports from the bug&lt;br /&gt;
#* '''Remove the pk's from the entries in the JSON document.'''&lt;br /&gt;
#* Improvement Note: Because this is using loaddata, this will have problems if the FPR models are changed. A possible solution is to update get-fpr-changes to generate a migration instead of JSON&lt;br /&gt;
# Commit&lt;br /&gt;
# Merge&lt;br /&gt;
&lt;br /&gt;
== Update dependencies ==&lt;br /&gt;
&lt;br /&gt;
=== Python Packages ===&lt;br /&gt;
&lt;br /&gt;
[https://github.com/artefactual-labs/mets-reader-writer metsrw] and [https://github.com/artefactual-labs/agentarchives agentarchives] both have Makefiles that handle most of the packaging&lt;br /&gt;
&lt;br /&gt;
# Check for open PRs, merge as necessary&lt;br /&gt;
# Update &amp;lt;code&amp;gt;setup.py&amp;lt;/code&amp;gt; with the new version, create a pull request, code review, [[Merging | merge]].&lt;br /&gt;
# Tag new release, push tag&lt;br /&gt;
#* &amp;lt;code&amp;gt;git push --tags&amp;lt;/code&amp;gt;&lt;br /&gt;
# Run &amp;lt;code&amp;gt;make package&amp;lt;/code&amp;gt;&lt;br /&gt;
#* This will build the package and upload it to PyPI. It will prompt for your PyPI username and password for the upload&lt;br /&gt;
#* The Makefile was created from instructions at https://packaging.python.org/distributing/&lt;br /&gt;
# &amp;lt;code&amp;gt;make clean&amp;lt;/code&amp;gt; will delete packaging related files&lt;br /&gt;
&lt;br /&gt;
== Build deb/rpm packages ==&lt;br /&gt;
&lt;br /&gt;
The am-packbuild repository has all the code related to building packages, except the building gpg keys. The steps to follow in order to build production production packages are as follow&lt;br /&gt;
&lt;br /&gt;
=== Debian packages ===&lt;br /&gt;
&lt;br /&gt;
# Clone the [https://github.com/artefactual-labs/am-packbuild am-packbuild] repo. Latest work is available in master&lt;br /&gt;
# Put your gpg private key into &amp;lt;code&amp;gt;debs/GPG-KEYS-REPOS&amp;lt;/code&amp;gt;. That's the place the Dockerfile looks for it when building the environment.&lt;br /&gt;
# Update the makefile at &amp;lt;code&amp;gt;debs/archivematica/Makefile&amp;lt;/code&amp;gt; in order to reflect version/keys you want to use.&lt;br /&gt;
# Run &amp;lt;make&amp;gt;, and the packages will be available in the &amp;lt;code&amp;gt;build&amp;lt;/code&amp;gt; once the building finishes.&lt;br /&gt;
# Upload packages to public debian repository&lt;br /&gt;
&lt;br /&gt;
=== Debian reposities ===&lt;br /&gt;
&lt;br /&gt;
There are two debian repositories, one for archivematica packages, and one for dependencies. The procedure in order to create new ones, or upload packages to them, is the same:&lt;br /&gt;
&lt;br /&gt;
#* Create folder for repo, and configuration file:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
mkdir -p /path/to/repos/repo/conf&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt; /path/to/repos/repo/conf/distributions &amp;lt;&amp;lt; EOF&lt;br /&gt;
&lt;br /&gt;
Codename: trusty&lt;br /&gt;
&lt;br /&gt;
Components: main&lt;br /&gt;
&lt;br /&gt;
Architectures: amd64 source&lt;br /&gt;
&lt;br /&gt;
SignWith: &amp;lt;short gpg keyid&amp;gt; &lt;br /&gt;
&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#* Go inside the repo, and import the packages previously uploaded with:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
cd /path/to/repos/repo/&lt;br /&gt;
&lt;br /&gt;
reprepro includedeb trusty /path/to/packages/*.deb&lt;br /&gt;
&lt;br /&gt;
reprepro includedsc trusty /path/to/packages/*.deb&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The current official repo is at packages.archivematica.org&lt;br /&gt;
&lt;br /&gt;
=== RPM Packages ===&lt;br /&gt;
&lt;br /&gt;
# Package specs are available in [https://github.com/artefactual-labs/am-packbuild/tree/dev/packaging-1.6-docker/rpm am-packbuild/rpms]&lt;br /&gt;
# There are vars in the Makefiles for version/release , so update them when needed&lt;br /&gt;
# In order to build them, just go into the directory you want to build, and run “make”&lt;br /&gt;
&lt;br /&gt;
=== RPM Repositories ===&lt;br /&gt;
&lt;br /&gt;
Once the packages are built, upload them to packages.archivematica.org/&amp;lt;version&amp;gt;/centos&lt;br /&gt;
Sign the packages with rpm --addsign *.rpm (already signed packages will be skipped)&lt;br /&gt;
&lt;br /&gt;
Go inside that dir, and as user ohbot run:&lt;br /&gt;
&lt;br /&gt;
* ''rpm --addsign *.rpm'' (already signed packages will be skipped)&lt;br /&gt;
&lt;br /&gt;
* ''createrepo .'' (For packages other than archivematica , use  “centos-extras” repository)&lt;br /&gt;
&lt;br /&gt;
* ''gpg --detach-sign --armor repodata/repomd.xml'' &lt;br /&gt;
&lt;br /&gt;
The first gpg command signs the rpms, and the later signs the repository content.&lt;br /&gt;
&lt;br /&gt;
=== Development stage ===&lt;br /&gt;
&lt;br /&gt;
In the final stages of development, the repositories for the new releases are created, but packages are signed with a development key to avoid mistakes. Once the development stage finishes, all new packages need to be rebuild using the production keys.&lt;br /&gt;
&lt;br /&gt;
Development packages are built on each new commit to stable branches by Jenkins. Repositories are available at http://jenkins-ci.archivematica.org/repos/&lt;br /&gt;
&lt;br /&gt;
== Website ==&lt;br /&gt;
&lt;br /&gt;
'''Needs to be improved!'''&lt;br /&gt;
&lt;br /&gt;
==== Homepage ====&lt;br /&gt;
&lt;br /&gt;
* Make changes in archivematica-web.git&lt;br /&gt;
** Update links&lt;br /&gt;
** Add new doc repos&lt;br /&gt;
* Deploy&lt;br /&gt;
** Log in sites-pub as archivematica-web and run update-web.sh&lt;br /&gt;
&lt;br /&gt;
==== Documentation ====&lt;br /&gt;
&lt;br /&gt;
* Deploy&lt;br /&gt;
** Log in sites-pub as archivematica-web and run update-docs.sh&lt;br /&gt;
&lt;br /&gt;
==== Wiki ====&lt;br /&gt;
&lt;br /&gt;
* Release notes&lt;br /&gt;
* Installation notes&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
== News ==&lt;br /&gt;
&lt;br /&gt;
* Twitter&lt;br /&gt;
* Mailing list&lt;br /&gt;
* News section in artefactual.com&lt;br /&gt;
&lt;br /&gt;
== Update ansible roles ==&lt;br /&gt;
&lt;br /&gt;
Check that the deploy-pub vars files for archivematica are updated, and the ansible-ansiblematica-src and ansible-archivematica-pkg roles are able to deploy the new version&lt;br /&gt;
&lt;br /&gt;
== Tag Release ==&lt;br /&gt;
&lt;br /&gt;
# Add release tags to repositories&lt;br /&gt;
#* Archivematica&lt;br /&gt;
#* Storage Service&lt;br /&gt;
#* FPR-admin&lt;br /&gt;
#* appraisal tab&lt;br /&gt;
#* transfer browser&lt;br /&gt;
#* Others?&lt;br /&gt;
# Create stable/#.x branch&lt;br /&gt;
# Delete qa/#.x branch if necessary&lt;br /&gt;
&lt;br /&gt;
[[Category:Process documentation]]&lt;/div&gt;</summary>
		<author><name>Scollazo</name></author>
	</entry>
	<entry>
		<id>https://wiki.archivematica.org/index.php?title=Release_Process&amp;diff=12340</id>
		<title>Release Process</title>
		<link rel="alternate" type="text/html" href="https://wiki.archivematica.org/index.php?title=Release_Process&amp;diff=12340"/>
		<updated>2018-03-26T14:39:40Z</updated>

		<summary type="html">&lt;p&gt;Scollazo: /* Debian packages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is an outline/checklist of the process to create Archivematica &amp;amp; Storage service releases.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
# Merge new features&lt;br /&gt;
# Test new features&lt;br /&gt;
# [[#Update PRONOM]]&lt;br /&gt;
# Write documentation&lt;br /&gt;
# Update dependencies&lt;br /&gt;
# [[#Build deb/rpm packages]]&lt;br /&gt;
# Test packages for new installs and upgrades&lt;br /&gt;
# [[#Tag Release]]&lt;br /&gt;
# Update ansible roles&lt;br /&gt;
# Announce release&lt;br /&gt;
&lt;br /&gt;
== Translations ==&lt;br /&gt;
&lt;br /&gt;
'''Needs to be improved!'''&lt;br /&gt;
&lt;br /&gt;
* Determine code freeze / call for translations process&lt;br /&gt;
* Describe processes: push and pull - and when it needs to happen&lt;br /&gt;
* We made a choice on how we're using Transifex to keep things simple: only one branch at a time pushed to Transifex. E.g. once SS 0.10.0 is released we have to decide if:&lt;br /&gt;
*# We move Transifex to stable/0.10.x for a while so we can work on a minor release with translation fixes (e.g. 0.10.1), or&lt;br /&gt;
*# We move to qa/0.11.x which would only make possible to bring new translations to SS 0.11.0.&lt;br /&gt;
* Affected repositories&lt;br /&gt;
** archivematica-storage-service&lt;br /&gt;
** archivematica-workflow&lt;br /&gt;
** archivematica-dashboard&lt;br /&gt;
*** Includes archivematica-fpr-admin&lt;br /&gt;
*** Includes appraisal-tab&lt;br /&gt;
&lt;br /&gt;
== Update PRONOM ==&lt;br /&gt;
&lt;br /&gt;
PRONOM needs to be updated in our file identification tools, FIDO &amp;amp; Siegfried, as well as in the FPR.&lt;br /&gt;
&lt;br /&gt;
=== Update FIDO ===&lt;br /&gt;
&lt;br /&gt;
The FPR update currently use FIDO as a source for new PRONOM, since it is formatted nicer than PRONOM offers, so we depend on FIDO having updated their PRONOM.  If that has not happened, we can generate a new formats-v##.xml by updating signatures manually. Artefactual can also update PRONOM and submit a PR to FIDO.&lt;br /&gt;
&lt;br /&gt;
# Checkout fido from https://github.com/openpreserve/fido&lt;br /&gt;
# Update signatures&lt;br /&gt;
#* Run &amp;lt;code&amp;gt;python2 -m fido.update_signatures&amp;lt;/code&amp;gt; from the fido repository root&lt;br /&gt;
# Add:&lt;br /&gt;
#* New signature file &amp;lt;code&amp;gt;fido/conf/DROID_SignatureFile-v##.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
#* New formats file &amp;lt;code&amp;gt;fido/conf/formats-v##.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
#* New PRONOM zip file &amp;lt;code&amp;gt;fido/conf/pronom-xml-v##.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Updated &amp;lt;code&amp;gt;fido/conf/versions.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
# Remove:&lt;br /&gt;
#* Old signature file&lt;br /&gt;
#* Old formats file&lt;br /&gt;
#* Old PRONOM zip file&lt;br /&gt;
# Update &amp;lt;code&amp;gt;fido/fido.py&amp;lt;/code&amp;gt; to point to the new format_files&lt;br /&gt;
# Create pull request.  This may trigger a release from FIDO&lt;br /&gt;
&lt;br /&gt;
Also consider:&lt;br /&gt;
* Update the container signatures (download here: https://www.nationalarchives.gov.uk/aboutapps/pronom/droid-signature-files.htm)&lt;br /&gt;
* See this pull request submitted to update to PRONOM 90: https://github.com/openpreserve/fido/pull/110&lt;br /&gt;
** Notice that it also updates the container signatures&lt;br /&gt;
* Remember to publish the wheel to pypi! https://pypi.python.org/pypi/opf-fido (see the Makefile)&lt;br /&gt;
&lt;br /&gt;
=== Package FIDO ===&lt;br /&gt;
&lt;br /&gt;
First, clone the [https://github.com/artefactual-labs/am-packbuild/  am-packbuild]  repo. The most recent work has been done in branch dev/packages-1.6-docker, and needs to be merged into main.&lt;br /&gt;
&lt;br /&gt;
Update the Makefiles available at &amp;lt;code&amp;gt;rpm/fido/Makefile&amp;lt;/code&amp;gt;, and  &amp;lt;code&amp;gt;deb/fido/Makefile&amp;lt;/code&amp;gt; , and run &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; in each directory to build the packages.&lt;br /&gt;
&lt;br /&gt;
=== Package Siegfried ===&lt;br /&gt;
&lt;br /&gt;
First, clone the [https://github.com/artefactual-labs/am-packbuild/  am-packbuild]  repo. The most recent work has been done in branch dev/packages-1.6-docker, and needs to be merged into main.&lt;br /&gt;
&lt;br /&gt;
Update the Makefiles available at &amp;lt;code&amp;gt;rpm/siegfried/Makefile&amp;lt;/code&amp;gt;, and  &amp;lt;code&amp;gt;deb/siegfried/Makefile&amp;lt;/code&amp;gt; , and run &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; in each directory to build the packages.&lt;br /&gt;
&lt;br /&gt;
=== Update FPR ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;text-alert&amp;quot;&amp;gt;&lt;br /&gt;
* In https://github.com/artefactual/archivematica-fpr-admin/pull/51, the devtools used here to generate the migration were included in archivematica-fpr-admin as django-admin management tools.&lt;br /&gt;
* At the end of the process: '''remember''' to remove &amp;quot;pk&amp;quot;s from the final migration fixture! E.g. see PR #55&lt;br /&gt;
* Examples&lt;br /&gt;
** PRONOM 92:&lt;br /&gt;
*** https://github.com/artefactual/archivematica-fpr-admin/pull/63&lt;br /&gt;
*** ???&lt;br /&gt;
** PRONOM 90:&lt;br /&gt;
*** https://github.com/artefactual/archivematica-fpr-admin/pull/51&lt;br /&gt;
*** https://github.com/artefactual/archivematica-fpr-admin/pull/55&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This process is currently more convoluted than it needs to be, and should be simplified.&lt;br /&gt;
&lt;br /&gt;
This depends on FIDO having updated their PRONOM files. See [[#Update FIDO]]&lt;br /&gt;
&lt;br /&gt;
# Install the latest stable Archivematica release&lt;br /&gt;
# Generate a JSON with the current version of the FPR (for use later)&lt;br /&gt;
#* &amp;lt;code&amp;gt;./src/dashboard/src/manage.py dumpdata fpr &amp;gt; fpr-current.json&amp;lt;/code&amp;gt;&lt;br /&gt;
# Install the latest development version of Archivematica&lt;br /&gt;
# Generate a blank data migration in the FPR-admin module&lt;br /&gt;
#* E.g. &amp;lt;code&amp;gt;./src/dashboard/src/manage.py makemigrations --empty --name pronom_89 fpr&amp;lt;/code&amp;gt;&lt;br /&gt;
# Generate the FPR migration body.  This also updates the local database's FPR with the new PRONOM IDs&lt;br /&gt;
#* E.g. &amp;lt;code&amp;gt;am import-pronom-ids fido/fido/conf/formats-v89.xml --output-filename archivematica/pronom89.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
# Copy the output into the blank migration, add RunPython operation&lt;br /&gt;
#* &amp;lt;code&amp;gt;migrations.RunPython(data_migration),&amp;lt;/code&amp;gt;&lt;br /&gt;
# Due to a [https://projects.artefactual.com/issues/10466#change-46673 bug], fix the imports&lt;br /&gt;
#* Remove the &amp;lt;code&amp;gt;apps.get_model&amp;lt;/code&amp;gt; lines&lt;br /&gt;
#* Import the models directly with &amp;lt;code&amp;gt;from fpr.models import Format, FormatVersion, IDRule&amp;lt;/code&amp;gt;&lt;br /&gt;
# Commit&lt;br /&gt;
# Deploy on testing pipeline&lt;br /&gt;
# (Analysts) Update the new entries&lt;br /&gt;
#* '''Ask to edit ONLY entries added by the latest PRONOM update otherwise the fixture won't work properly'''&lt;br /&gt;
#* Move new formats to a more appropriate category&lt;br /&gt;
#* Create rules &amp;amp; commands&lt;br /&gt;
#* Test with data for new formats&lt;br /&gt;
# Generate a JSON with the updated version of the FPR on the testing pipeline&lt;br /&gt;
#* &amp;lt;code&amp;gt;./src/dashboard/src/manage.py dumpdata fpr &amp;gt; fpr-updated.json&amp;lt;/code&amp;gt;&lt;br /&gt;
# Get the updates as JSON&lt;br /&gt;
#* E.g. &amp;lt;code&amp;gt;am get-fpr-changes fpr-current.json fpr-updated.json src/dashboard/src/fpr/migrations/pronom_89.json&amp;lt;/code&amp;gt;&lt;br /&gt;
# Update the migration to load the JSON updates&lt;br /&gt;
#* Replace the contents of the data migration function with&lt;br /&gt;
#** &amp;lt;code&amp;gt;fixture_file = os.path.join(os.path.dirname(__file__), 'pronom_89.json')&amp;lt;/code&amp;gt;&lt;br /&gt;
#** &amp;lt;code&amp;gt;call_command('loaddata', fixture_file, app_label='fpr')&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Remove the direct imports from the bug&lt;br /&gt;
#* '''Remove the pk's from the entries in the JSON document.'''&lt;br /&gt;
#* Improvement Note: Because this is using loaddata, this will have problems if the FPR models are changed. A possible solution is to update get-fpr-changes to generate a migration instead of JSON&lt;br /&gt;
# Commit&lt;br /&gt;
# Merge&lt;br /&gt;
&lt;br /&gt;
== Update dependencies ==&lt;br /&gt;
&lt;br /&gt;
=== Python Packages ===&lt;br /&gt;
&lt;br /&gt;
[https://github.com/artefactual-labs/mets-reader-writer metsrw] and [https://github.com/artefactual-labs/agentarchives agentarchives] both have Makefiles that handle most of the packaging&lt;br /&gt;
&lt;br /&gt;
# Check for open PRs, merge as necessary&lt;br /&gt;
# Update &amp;lt;code&amp;gt;setup.py&amp;lt;/code&amp;gt; with the new version, create a pull request, code review, [[Merging | merge]].&lt;br /&gt;
# Tag new release, push tag&lt;br /&gt;
#* &amp;lt;code&amp;gt;git push --tags&amp;lt;/code&amp;gt;&lt;br /&gt;
# Run &amp;lt;code&amp;gt;make package&amp;lt;/code&amp;gt;&lt;br /&gt;
#* This will build the package and upload it to PyPI. It will prompt for your PyPI username and password for the upload&lt;br /&gt;
#* The Makefile was created from instructions at https://packaging.python.org/distributing/&lt;br /&gt;
# &amp;lt;code&amp;gt;make clean&amp;lt;/code&amp;gt; will delete packaging related files&lt;br /&gt;
&lt;br /&gt;
== Build deb/rpm packages ==&lt;br /&gt;
&lt;br /&gt;
The am-packbuild repository has all the code related to building packages, except the building gpg keys. The steps to follow in order to build production production packages are as follow&lt;br /&gt;
&lt;br /&gt;
=== Debian packages ===&lt;br /&gt;
&lt;br /&gt;
# Clone the [https://github.com/artefactual-labs/am-packbuild am-packbuild] repo. Latest work is available in master&lt;br /&gt;
# Put your gpg private key into &amp;lt;code&amp;gt;debs/GPG-KEYS-REPOS&amp;lt;/code&amp;gt;. That's the place the Dockerfile looks for it when building the environment.&lt;br /&gt;
# Update the makefile at &amp;lt;code&amp;gt;debs/archivematica/Makefile&amp;lt;/code&amp;gt; in order to reflect version/keys you want to use. If you want to build the storage service, you need also to change the packbuild.py line to reflect that (TODO: create service-storage package folder)&lt;br /&gt;
This dockerfile uses packbuild.py  script, whose function is downloadig the code from github, creating a debian/changelog file for each ubuntu version with the expected version name and description of last commit included, and build the package aftewards. It can be run on their own too, without the need of a docker environment.&lt;br /&gt;
# Run &amp;lt;make&amp;gt;, and the packages will be available in the &amp;lt;code&amp;gt;build&amp;lt;/code&amp;gt; once the building finishes.&lt;br /&gt;
# Upload packages to public debian repository&lt;br /&gt;
&lt;br /&gt;
=== Debian reposities ===&lt;br /&gt;
&lt;br /&gt;
There are two debian repositories, one for archivematica packages, and one for dependencies. The procedure in order to create new ones, or upload packages to them, is the same:&lt;br /&gt;
&lt;br /&gt;
#* Create folder for repo, and configuration file:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
mkdir -p /path/to/repos/repo/conf&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt; /path/to/repos/repo/conf/distributions &amp;lt;&amp;lt; EOF&lt;br /&gt;
&lt;br /&gt;
Codename: trusty&lt;br /&gt;
&lt;br /&gt;
Components: main&lt;br /&gt;
&lt;br /&gt;
Architectures: amd64 source&lt;br /&gt;
&lt;br /&gt;
SignWith: &amp;lt;short gpg keyid&amp;gt; &lt;br /&gt;
&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#* Go inside the repo, and import the packages previously uploaded with:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
cd /path/to/repos/repo/&lt;br /&gt;
&lt;br /&gt;
reprepro includedeb trusty /path/to/packages/*.deb&lt;br /&gt;
&lt;br /&gt;
reprepro includedsc trusty /path/to/packages/*.deb&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The current official repo is at packages.archivematica.org&lt;br /&gt;
&lt;br /&gt;
=== RPM Packages ===&lt;br /&gt;
&lt;br /&gt;
# Package specs are available in [https://github.com/artefactual-labs/am-packbuild/tree/dev/packaging-1.6-docker/rpm am-packbuild/rpms]&lt;br /&gt;
# There are vars in the Makefiles for version/release , so update them when needed&lt;br /&gt;
# In order to build them, just go into the directory you want to build, and run “make”&lt;br /&gt;
&lt;br /&gt;
=== RPM Repositories ===&lt;br /&gt;
&lt;br /&gt;
Once the packages are built, upload them to packages.archivematica.org/&amp;lt;version&amp;gt;/centos&lt;br /&gt;
Sign the packages with rpm --addsign *.rpm (already signed packages will be skipped)&lt;br /&gt;
&lt;br /&gt;
Go inside that dir, and as user ohbot run:&lt;br /&gt;
&lt;br /&gt;
* ''rpm --addsign *.rpm'' (already signed packages will be skipped)&lt;br /&gt;
&lt;br /&gt;
* ''createrepo .'' (For packages other than archivematica , use  “centos-extras” repository)&lt;br /&gt;
&lt;br /&gt;
* ''gpg --detach-sign --armor repodata/repomd.xml'' &lt;br /&gt;
&lt;br /&gt;
The first gpg command signs the rpms, and the later signs the repository content.&lt;br /&gt;
&lt;br /&gt;
=== Development stage ===&lt;br /&gt;
&lt;br /&gt;
In the final stages of development, the repositories for the new releases are created, but packages are signed with a development key to avoid mistakes. Once the development stage finishes, all new packages need to be rebuild using the production keys.&lt;br /&gt;
&lt;br /&gt;
Development packages are built on each new commit to stable branches by Jenkins. Repositories are available at http://jenkins-ci.archivematica.org/repos/&lt;br /&gt;
&lt;br /&gt;
== Website ==&lt;br /&gt;
&lt;br /&gt;
'''Needs to be improved!'''&lt;br /&gt;
&lt;br /&gt;
==== Homepage ====&lt;br /&gt;
&lt;br /&gt;
* Make changes in archivematica-web.git&lt;br /&gt;
** Update links&lt;br /&gt;
** Add new doc repos&lt;br /&gt;
* Deploy&lt;br /&gt;
** Log in sites-pub as archivematica-web and run update-web.sh&lt;br /&gt;
&lt;br /&gt;
==== Documentation ====&lt;br /&gt;
&lt;br /&gt;
* Deploy&lt;br /&gt;
** Log in sites-pub as archivematica-web and run update-docs.sh&lt;br /&gt;
&lt;br /&gt;
==== Wiki ====&lt;br /&gt;
&lt;br /&gt;
* Release notes&lt;br /&gt;
* Installation notes&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
== News ==&lt;br /&gt;
&lt;br /&gt;
* Twitter&lt;br /&gt;
* Mailing list&lt;br /&gt;
* News section in artefactual.com&lt;br /&gt;
&lt;br /&gt;
== Update ansible roles ==&lt;br /&gt;
&lt;br /&gt;
Check that the deploy-pub vars files for archivematica are updated, and the ansible-ansiblematica-src and ansible-archivematica-pkg roles are able to deploy the new version&lt;br /&gt;
&lt;br /&gt;
== Tag Release ==&lt;br /&gt;
&lt;br /&gt;
# Add release tags to repositories&lt;br /&gt;
#* Archivematica&lt;br /&gt;
#* Storage Service&lt;br /&gt;
#* FPR-admin&lt;br /&gt;
#* appraisal tab&lt;br /&gt;
#* transfer browser&lt;br /&gt;
#* Others?&lt;br /&gt;
# Create stable/#.x branch&lt;br /&gt;
# Delete qa/#.x branch if necessary&lt;br /&gt;
&lt;br /&gt;
[[Category:Process documentation]]&lt;/div&gt;</summary>
		<author><name>Scollazo</name></author>
	</entry>
	<entry>
		<id>https://wiki.archivematica.org/index.php?title=Release_Process&amp;diff=12289</id>
		<title>Release Process</title>
		<link rel="alternate" type="text/html" href="https://wiki.archivematica.org/index.php?title=Release_Process&amp;diff=12289"/>
		<updated>2018-03-09T12:00:23Z</updated>

		<summary type="html">&lt;p&gt;Scollazo: /* RPM Repositories */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is an outline/checklist of the process to create Archivematica &amp;amp; Storage service releases.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
# Merge new features&lt;br /&gt;
# Test new features&lt;br /&gt;
# [[#Update PRONOM]]&lt;br /&gt;
# Write documentation&lt;br /&gt;
# Update dependencies&lt;br /&gt;
# [[#Build deb/rpm packages]]&lt;br /&gt;
# Test packages for new installs and upgrades&lt;br /&gt;
# [[#Tag Release]]&lt;br /&gt;
# Update ansible roles&lt;br /&gt;
# Announce release&lt;br /&gt;
&lt;br /&gt;
== Translations ==&lt;br /&gt;
&lt;br /&gt;
'''Needs to be improved!'''&lt;br /&gt;
&lt;br /&gt;
* Determine code freeze / call for translations process&lt;br /&gt;
* Describe processes: push and pull - and when it needs to happen&lt;br /&gt;
* We made a choice on how we're using Transifex to keep things simple: only one branch at a time pushed to Transifex. E.g. once SS 0.10.0 is released we have to decide if:&lt;br /&gt;
*# We move Transifex to stable/0.10.x for a while so we can work on a minor release with translation fixes (e.g. 0.10.1), or&lt;br /&gt;
*# We move to qa/0.11.x which would only make possible to bring new translations to SS 0.11.0.&lt;br /&gt;
* Affected repositories&lt;br /&gt;
** archivematica-storage-service&lt;br /&gt;
** archivematica-workflow&lt;br /&gt;
** archivematica-dashboard&lt;br /&gt;
*** Includes archivematica-fpr-admin&lt;br /&gt;
*** Includes appraisal-tab&lt;br /&gt;
&lt;br /&gt;
== Update PRONOM ==&lt;br /&gt;
&lt;br /&gt;
PRONOM needs to be updated in our file identification tools, FIDO &amp;amp; Siegfried, as well as in the FPR.&lt;br /&gt;
&lt;br /&gt;
=== Update FIDO ===&lt;br /&gt;
&lt;br /&gt;
The FPR update currently use FIDO as a source for new PRONOM, since it is formatted nicer than PRONOM offers, so we depend on FIDO having updated their PRONOM.  If that has not happened, we can generate a new formats-v##.xml by updating signatures manually. Artefactual can also update PRONOM and submit a PR to FIDO.&lt;br /&gt;
&lt;br /&gt;
# Checkout fido from https://github.com/openpreserve/fido&lt;br /&gt;
# Update signatures&lt;br /&gt;
#* Run &amp;lt;code&amp;gt;python2 -m fido.update_signatures&amp;lt;/code&amp;gt; from the fido repository root&lt;br /&gt;
# Add:&lt;br /&gt;
#* New signature file &amp;lt;code&amp;gt;fido/conf/DROID_SignatureFile-v##.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
#* New formats file &amp;lt;code&amp;gt;fido/conf/formats-v##.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
#* New PRONOM zip file &amp;lt;code&amp;gt;fido/conf/pronom-xml-v##.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Updated &amp;lt;code&amp;gt;fido/conf/versions.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
# Remove:&lt;br /&gt;
#* Old signature file&lt;br /&gt;
#* Old formats file&lt;br /&gt;
#* Old PRONOM zip file&lt;br /&gt;
# Update &amp;lt;code&amp;gt;fido/fido.py&amp;lt;/code&amp;gt; to point to the new format_files&lt;br /&gt;
# Create pull request.  This may trigger a release from FIDO&lt;br /&gt;
&lt;br /&gt;
Also consider:&lt;br /&gt;
* Update the container signatures (download here: https://www.nationalarchives.gov.uk/aboutapps/pronom/droid-signature-files.htm)&lt;br /&gt;
* See this pull request submitted to update to PRONOM 90: https://github.com/openpreserve/fido/pull/110&lt;br /&gt;
** Notice that it also updates the container signatures&lt;br /&gt;
* Remember to publish the wheel to pypi! https://pypi.python.org/pypi/opf-fido (see the Makefile)&lt;br /&gt;
&lt;br /&gt;
=== Package FIDO ===&lt;br /&gt;
&lt;br /&gt;
First, clone the [https://github.com/artefactual-labs/am-packbuild/  am-packbuild]  repo. The most recent work has been done in branch dev/packages-1.6-docker, and needs to be merged into main.&lt;br /&gt;
&lt;br /&gt;
Update the Makefiles available at &amp;lt;code&amp;gt;rpm/fido/Makefile&amp;lt;/code&amp;gt;, and  &amp;lt;code&amp;gt;deb/fido/Makefile&amp;lt;/code&amp;gt; , and run &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; in each directory to build the packages.&lt;br /&gt;
&lt;br /&gt;
=== Package Siegfried ===&lt;br /&gt;
&lt;br /&gt;
First, clone the [https://github.com/artefactual-labs/am-packbuild/  am-packbuild]  repo. The most recent work has been done in branch dev/packages-1.6-docker, and needs to be merged into main.&lt;br /&gt;
&lt;br /&gt;
Update the Makefiles available at &amp;lt;code&amp;gt;rpm/siegfried/Makefile&amp;lt;/code&amp;gt;, and  &amp;lt;code&amp;gt;deb/siegfried/Makefile&amp;lt;/code&amp;gt; , and run &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; in each directory to build the packages.&lt;br /&gt;
&lt;br /&gt;
=== Update FPR ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;text-alert&amp;quot;&amp;gt;&lt;br /&gt;
* In https://github.com/artefactual/archivematica-fpr-admin/pull/51, the devtools used here to generate the migration were included in archivematica-fpr-admin as django-admin management tools.&lt;br /&gt;
* At the end of the process: '''remember''' to remove &amp;quot;pk&amp;quot;s from the final migration fixture! E.g. see PR #55&lt;br /&gt;
* Examples&lt;br /&gt;
** PRONOM 92:&lt;br /&gt;
*** https://github.com/artefactual/archivematica-fpr-admin/pull/63&lt;br /&gt;
*** ???&lt;br /&gt;
** PRONOM 90:&lt;br /&gt;
*** https://github.com/artefactual/archivematica-fpr-admin/pull/51&lt;br /&gt;
*** https://github.com/artefactual/archivematica-fpr-admin/pull/55&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This process is currently more convoluted than it needs to be, and should be simplified.&lt;br /&gt;
&lt;br /&gt;
This depends on FIDO having updated their PRONOM files. See [[#Update FIDO]]&lt;br /&gt;
&lt;br /&gt;
# Install the latest stable Archivematica release&lt;br /&gt;
# Generate a JSON with the current version of the FPR (for use later)&lt;br /&gt;
#* &amp;lt;code&amp;gt;./src/dashboard/src/manage.py dumpdata fpr &amp;gt; fpr-current.json&amp;lt;/code&amp;gt;&lt;br /&gt;
# Install the latest development version of Archivematica&lt;br /&gt;
# Generate a blank data migration in the FPR-admin module&lt;br /&gt;
#* E.g. &amp;lt;code&amp;gt;./src/dashboard/src/manage.py makemigrations --empty --name pronom_89 fpr&amp;lt;/code&amp;gt;&lt;br /&gt;
# Generate the FPR migration body.  This also updates the local database's FPR with the new PRONOM IDs&lt;br /&gt;
#* E.g. &amp;lt;code&amp;gt;am import-pronom-ids fido/fido/conf/formats-v89.xml --output-filename archivematica/pronom89.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
# Copy the output into the blank migration, add RunPython operation&lt;br /&gt;
#* &amp;lt;code&amp;gt;migrations.RunPython(data_migration),&amp;lt;/code&amp;gt;&lt;br /&gt;
# Due to a [https://projects.artefactual.com/issues/10466#change-46673 bug], fix the imports&lt;br /&gt;
#* Remove the &amp;lt;code&amp;gt;apps.get_model&amp;lt;/code&amp;gt; lines&lt;br /&gt;
#* Import the models directly with &amp;lt;code&amp;gt;from fpr.models import Format, FormatVersion, IDRule&amp;lt;/code&amp;gt;&lt;br /&gt;
# Commit&lt;br /&gt;
# Deploy on testing pipeline&lt;br /&gt;
# (Analysts) Update the new entries&lt;br /&gt;
#* '''Ask to edit ONLY entries added by the latest PRONOM update otherwise the fixture won't work properly'''&lt;br /&gt;
#* Move new formats to a more appropriate category&lt;br /&gt;
#* Create rules &amp;amp; commands&lt;br /&gt;
#* Test with data for new formats&lt;br /&gt;
# Generate a JSON with the updated version of the FPR on the testing pipeline&lt;br /&gt;
#* &amp;lt;code&amp;gt;./src/dashboard/src/manage.py dumpdata fpr &amp;gt; fpr-updated.json&amp;lt;/code&amp;gt;&lt;br /&gt;
# Get the updates as JSON&lt;br /&gt;
#* E.g. &amp;lt;code&amp;gt;am get-fpr-changes fpr-current.json fpr-updated.json src/dashboard/src/fpr/migrations/pronom_89.json&amp;lt;/code&amp;gt;&lt;br /&gt;
# Update the migration to load the JSON updates&lt;br /&gt;
#* Replace the contents of the data migration function with&lt;br /&gt;
#** &amp;lt;code&amp;gt;fixture_file = os.path.join(os.path.dirname(__file__), 'pronom_89.json')&amp;lt;/code&amp;gt;&lt;br /&gt;
#** &amp;lt;code&amp;gt;call_command('loaddata', fixture_file, app_label='fpr')&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Remove the direct imports from the bug&lt;br /&gt;
#* '''Remove the pk's from the entries in the JSON document.'''&lt;br /&gt;
#* Improvement Note: Because this is using loaddata, this will have problems if the FPR models are changed. A possible solution is to update get-fpr-changes to generate a migration instead of JSON&lt;br /&gt;
# Commit&lt;br /&gt;
# Merge&lt;br /&gt;
&lt;br /&gt;
== Update dependencies ==&lt;br /&gt;
&lt;br /&gt;
=== Python Packages ===&lt;br /&gt;
&lt;br /&gt;
[https://github.com/artefactual-labs/mets-reader-writer metsrw] and [https://github.com/artefactual-labs/agentarchives agentarchives] both have Makefiles that handle most of the packaging&lt;br /&gt;
&lt;br /&gt;
# Check for open PRs, merge as necessary&lt;br /&gt;
# Update &amp;lt;code&amp;gt;setup.py&amp;lt;/code&amp;gt; with the new version, create a pull request, code review, [[Merging | merge]].&lt;br /&gt;
# Tag new release, push tag&lt;br /&gt;
#* &amp;lt;code&amp;gt;git push --tags&amp;lt;/code&amp;gt;&lt;br /&gt;
# Run &amp;lt;code&amp;gt;make package&amp;lt;/code&amp;gt;&lt;br /&gt;
#* This will build the package and upload it to PyPI. It will prompt for your PyPI username and password for the upload&lt;br /&gt;
#* The Makefile was created from instructions at https://packaging.python.org/distributing/&lt;br /&gt;
# &amp;lt;code&amp;gt;make clean&amp;lt;/code&amp;gt; will delete packaging related files&lt;br /&gt;
&lt;br /&gt;
== Build deb/rpm packages ==&lt;br /&gt;
&lt;br /&gt;
The am-packbuild repository has all the code related to building packages, except the building gpg keys. The steps to follow in order to build production production packages are as follow&lt;br /&gt;
&lt;br /&gt;
=== Debian packages ===&lt;br /&gt;
&lt;br /&gt;
# Clone the [https://github.com/artefactual-labs/am-packbuild am-packbuild] repo. Latest work is available in dev/packages-1.6-docker&lt;br /&gt;
# Put your gpg private key into &amp;lt;code&amp;gt;debs/GPG-KEYS-REPOS&amp;lt;/code&amp;gt;. That's the place the Dockerfile looks for it when building the environment.&lt;br /&gt;
# Update the makefile at &amp;lt;code&amp;gt;debs/archivematica/Makefile&amp;lt;/code&amp;gt; in order to reflect version/keys you want to use. If you want to build the storage service, you need also to change the packbuild.py line to reflect that (TODO: create service-storage package folder)&lt;br /&gt;
This dockerfile uses packbuild.py  script, whose function is downloadig the code from github, creating a debian/changelog file for each ubuntu version with the expected version name and description of last commit included, and build the package aftewards. It can be run on their own too, without the need of a docker environment.&lt;br /&gt;
# Run &amp;lt;make&amp;gt;, and the packages will be available in the &amp;lt;code&amp;gt;build&amp;lt;/code&amp;gt; once the building finishes.&lt;br /&gt;
# Upload packages to public debian repository&lt;br /&gt;
&lt;br /&gt;
=== Debian reposities ===&lt;br /&gt;
&lt;br /&gt;
There are two debian repositories, one for archivematica packages, and one for dependencies. The procedure in order to create new ones, or upload packages to them, is the same:&lt;br /&gt;
&lt;br /&gt;
#* Create folder for repo, and configuration file:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
mkdir -p /path/to/repos/repo/conf&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt; /path/to/repos/repo/conf/distributions &amp;lt;&amp;lt; EOF&lt;br /&gt;
&lt;br /&gt;
Codename: trusty&lt;br /&gt;
&lt;br /&gt;
Components: main&lt;br /&gt;
&lt;br /&gt;
Architectures: amd64 source&lt;br /&gt;
&lt;br /&gt;
SignWith: &amp;lt;short gpg keyid&amp;gt; &lt;br /&gt;
&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#* Go inside the repo, and import the packages previously uploaded with:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
cd /path/to/repos/repo/&lt;br /&gt;
&lt;br /&gt;
reprepro includedeb trusty /path/to/packages/*.deb&lt;br /&gt;
&lt;br /&gt;
reprepro includedsc trusty /path/to/packages/*.deb&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The current official repo is at packages.archivematica.org&lt;br /&gt;
&lt;br /&gt;
=== RPM Packages ===&lt;br /&gt;
&lt;br /&gt;
# Package specs are available in [https://github.com/artefactual-labs/am-packbuild/tree/dev/packaging-1.6-docker/rpm am-packbuild/rpms]&lt;br /&gt;
# There are vars in the Makefiles for version/release , so update them when needed&lt;br /&gt;
# In order to build them, just go into the directory you want to build, and run “make”&lt;br /&gt;
&lt;br /&gt;
=== RPM Repositories ===&lt;br /&gt;
&lt;br /&gt;
Once the packages are built, upload them to packages.archivematica.org/&amp;lt;version&amp;gt;/centos&lt;br /&gt;
Sign the packages with rpm --addsign *.rpm (already signed packages will be skipped)&lt;br /&gt;
&lt;br /&gt;
Go inside that dir, and as user ohbot run:&lt;br /&gt;
&lt;br /&gt;
* ''rpm --addsign *.rpm'' (already signed packages will be skipped)&lt;br /&gt;
&lt;br /&gt;
* ''createrepo .'' (For packages other than archivematica , use  “centos-extras” repository)&lt;br /&gt;
&lt;br /&gt;
* ''gpg --detach-sign --armor repodata/repomd.xml'' &lt;br /&gt;
&lt;br /&gt;
The first gpg command signs the rpms, and the later signs the repository content.&lt;br /&gt;
&lt;br /&gt;
=== Development stage ===&lt;br /&gt;
&lt;br /&gt;
In the final stages of development, the repositories for the new releases are created, but packages are signed with a development key to avoid mistakes. Once the development stage finishes, all new packages need to be rebuild using the production keys.&lt;br /&gt;
&lt;br /&gt;
Development packages are built on each new commit to stable branches by Jenkins. Repositories are available at http://jenkins-ci.archivematica.org/repos/&lt;br /&gt;
&lt;br /&gt;
== Website ==&lt;br /&gt;
&lt;br /&gt;
'''Needs to be improved!'''&lt;br /&gt;
&lt;br /&gt;
==== Homepage ====&lt;br /&gt;
&lt;br /&gt;
* Make changes in archivematica-web.git&lt;br /&gt;
** Update links&lt;br /&gt;
** Add new doc repos&lt;br /&gt;
* Deploy&lt;br /&gt;
** Log in sites-pub as archivematica-web and run update-web.sh&lt;br /&gt;
&lt;br /&gt;
==== Documentation ====&lt;br /&gt;
&lt;br /&gt;
* Deploy&lt;br /&gt;
** Log in sites-pub as archivematica-web and run update-docs.sh&lt;br /&gt;
&lt;br /&gt;
==== Wiki ====&lt;br /&gt;
&lt;br /&gt;
* Release notes&lt;br /&gt;
* Installation notes&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
== News ==&lt;br /&gt;
&lt;br /&gt;
* Twitter&lt;br /&gt;
* Mailing list&lt;br /&gt;
* News section in artefactual.com&lt;br /&gt;
&lt;br /&gt;
== Update ansible roles ==&lt;br /&gt;
&lt;br /&gt;
Check that the deploy-pub vars files for archivematica are updated, and the ansible-ansiblematica-src and ansible-archivematica-pkg roles are able to deploy the new version&lt;br /&gt;
&lt;br /&gt;
== Tag Release ==&lt;br /&gt;
&lt;br /&gt;
# Add release tags to repositories&lt;br /&gt;
#* Archivematica&lt;br /&gt;
#* Storage Service&lt;br /&gt;
#* FPR-admin&lt;br /&gt;
#* appraisal tab&lt;br /&gt;
#* transfer browser&lt;br /&gt;
#* Others?&lt;br /&gt;
# Create stable/#.x branch&lt;br /&gt;
# Delete qa/#.x branch if necessary&lt;br /&gt;
&lt;br /&gt;
[[Category:Process documentation]]&lt;/div&gt;</summary>
		<author><name>Scollazo</name></author>
	</entry>
	<entry>
		<id>https://wiki.archivematica.org/index.php?title=Packages&amp;diff=12103</id>
		<title>Packages</title>
		<link rel="alternate" type="text/html" href="https://wiki.archivematica.org/index.php?title=Packages&amp;diff=12103"/>
		<updated>2017-10-06T16:07:38Z</updated>

		<summary type="html">&lt;p&gt;Scollazo: /* Package development */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Archivematica packaging ==&lt;br /&gt;
&lt;br /&gt;
Some Archivematica dependencies can't currently be obtained from the official Ubuntu/Centos package repositories, so we build them and make them publicly available in the archivematica-externals repository. &lt;br /&gt;
&lt;br /&gt;
Those external dependencies, and also the official Archivematica packages for Ubuntu and Redhat/Centos can be built using the scripts provided by the am-packbuild repository.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Roughly, the workflow for debian package building is as follow:&lt;br /&gt;
 - build docker image&lt;br /&gt;
 - clone code&lt;br /&gt;
 - tweak code when needed&lt;br /&gt;
 - update changelog&lt;br /&gt;
 - build debian/rpm package&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There is a Jenkins job triggered each time a new commit is made to the qa/1.x and qa/0.x. The job is workflow is based on the am-packbuil repo, and each time a new commit is made to the qa/1.x branch, the deb and rpm packages are built and uploaded to a development repo  that can be configured as follow:&lt;br /&gt;
&lt;br /&gt;
RH/Centos:&lt;br /&gt;
 http://jenkins-ci.archivematica.org/repos/rpm/release/&lt;br /&gt;
&lt;br /&gt;
Ubuntu 14.04 (Trusty)&lt;br /&gt;
  deb http://jenkins-ci.archivematica.org/repos/apt/release /&lt;br /&gt;
&lt;br /&gt;
Ubuntu 16.04 (Xenial)&lt;br /&gt;
  deb http://jenkins-ci.archivematica.org/repos/apt/release-xenial /&lt;br /&gt;
&lt;br /&gt;
The development key can be installed on Ubuntu systems with:&lt;br /&gt;
 wget -O - http://jenkins-ci.archivematica.org/repos/devel.key | sudo apt-key add - &lt;br /&gt;
&lt;br /&gt;
The jenkins job trigger gets the release version and number using the git describe --tags (for 1.7, the VERSION values are hardcoded to 1.7.0/0.11.0), and builds the package with&lt;br /&gt;
make  VERSION=&amp;lt;version number&amp;gt; RELEASE=&amp;lt;release number&amp;gt; BRANCH=qa/1.x, and then signs them with the archivematica development key.&lt;br /&gt;
&lt;br /&gt;
This is a first step working towards a full git integration, where a new official releases are triggered by the creation of a tag in the repo, and don't need manual intervention besides configuring the gpg production signing keys in advance.For now, for official releases, the build job can be configured with the gpg id of the production key, in order to build packages that can be added to the production repo.&lt;br /&gt;
&lt;br /&gt;
== Package development ==&lt;br /&gt;
The Makefiles available in the debs/ and rpm/ folders cover all the steps noted in at the beggining. Some of them can be triggered individually by running an specific make task (make build-docker-image, or make build)&lt;br /&gt;
&lt;br /&gt;
For adhoc packages (using a different branch than qa/1.x), jenkins jobs can be triggered using the needed parameters for version, branch, and package repository.&lt;br /&gt;
&lt;br /&gt;
== GPG Key management ==&lt;br /&gt;
&lt;br /&gt;
There are two keys being used, one in the development stage while the other is only for production ready packages. The reason behind that is avoiding misshappenings with development packages reaching production systems.&lt;br /&gt;
&lt;br /&gt;
To avoid exposing the private gpg keys needed to build the packges, there archivematica makefiles have two methods for injecting them. One is a file called GPG-KEYS in the root directory, useful for local development, and the other loads the environment var $GPG_KEY, and imports it, so we can inject the key to the jenkins build process without exposing it.&lt;/div&gt;</summary>
		<author><name>Scollazo</name></author>
	</entry>
	<entry>
		<id>https://wiki.archivematica.org/index.php?title=Packages&amp;diff=12102</id>
		<title>Packages</title>
		<link rel="alternate" type="text/html" href="https://wiki.archivematica.org/index.php?title=Packages&amp;diff=12102"/>
		<updated>2017-10-06T15:38:14Z</updated>

		<summary type="html">&lt;p&gt;Scollazo: initial draft&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Archivematica packaging ==&lt;br /&gt;
&lt;br /&gt;
Some Archivematica dependencies can't currently be obtained from the official Ubuntu/Centos package repositories, so we build them and make them publicly available in the archivematica-externals repository. &lt;br /&gt;
&lt;br /&gt;
Those external dependencies, and also the official Archivematica packages for Ubuntu and Redhat/Centos can be built using the scripts provided by the am-packbuild repository.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Roughly, the workflow for debian package building is as follow:&lt;br /&gt;
 - build docker image&lt;br /&gt;
 - clone code&lt;br /&gt;
 - tweak code when needed&lt;br /&gt;
 - update changelog&lt;br /&gt;
 - build debian/rpm package&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There is a Jenkins job triggered each time a new commit is made to the qa/1.x and qa/0.x. The job is workflow is based on the am-packbuil repo, and each time a new commit is made to the qa/1.x branch, the deb and rpm packages are built and uploaded to a development repo  that can be configured as follow:&lt;br /&gt;
&lt;br /&gt;
RH/Centos:&lt;br /&gt;
 http://jenkins-ci.archivematica.org/repos/rpm/release/&lt;br /&gt;
&lt;br /&gt;
Ubuntu 14.04 (Trusty)&lt;br /&gt;
  deb http://jenkins-ci.archivematica.org/repos/apt/release /&lt;br /&gt;
&lt;br /&gt;
Ubuntu 16.04 (Xenial)&lt;br /&gt;
  deb http://jenkins-ci.archivematica.org/repos/apt/release-xenial /&lt;br /&gt;
&lt;br /&gt;
The development key can be installed on Ubuntu systems with:&lt;br /&gt;
 wget -O - http://jenkins-ci.archivematica.org/repos/devel.key | sudo apt-key add - &lt;br /&gt;
&lt;br /&gt;
The jenkins job trigger gets the release version and number using the git describe --tags (for 1.7, the VERSION values are hardcoded to 1.7.0/0.11.0), and builds the package with&lt;br /&gt;
make  VERSION=&amp;lt;version number&amp;gt; RELEASE=&amp;lt;release number&amp;gt; BRANCH=qa/1.x, and then signs them with the archivematica development key.&lt;br /&gt;
&lt;br /&gt;
This is a first step working towards a full git integration, where a new official releases are triggered by the creation of a tag in the repo, and don't need manual intervention besides configuring the gpg production signing keys in advance.For now, for official releases, the build job can be configured with the gpg id of the production key, in order to build packages that can be added to the production repo.&lt;br /&gt;
&lt;br /&gt;
== Package development ==&lt;br /&gt;
The Makefiles available in the debs/ and rpm/ folders cover all the steps noted in at the beggining. Some of them can be triggered individually by running an specific make task (make build-docker-image, or make build)&lt;br /&gt;
&lt;br /&gt;
== GPG Key management ==&lt;br /&gt;
&lt;br /&gt;
There are two keys being used, one in the development stage while the other is only for production ready packages. The reason behind that is avoiding misshappenings with development packages reaching production systems.&lt;br /&gt;
&lt;br /&gt;
To avoid exposing the private gpg keys needed to build the packges, there archivematica makefiles have two methods for injecting them. One is a file called GPG-KEYS in the root directory, useful for local development, and the other loads the environment var $GPG_KEY, and imports it, so we can inject the key to the jenkins build process without exposing it.&lt;/div&gt;</summary>
		<author><name>Scollazo</name></author>
	</entry>
	<entry>
		<id>https://wiki.archivematica.org/index.php?title=Release_Process&amp;diff=11841</id>
		<title>Release Process</title>
		<link rel="alternate" type="text/html" href="https://wiki.archivematica.org/index.php?title=Release_Process&amp;diff=11841"/>
		<updated>2017-06-14T16:13:03Z</updated>

		<summary type="html">&lt;p&gt;Scollazo: /* Development stage */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is an outline/checklist of the process to create Archivematica &amp;amp; Storage service releases.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
# Merge new features&lt;br /&gt;
# Test new features&lt;br /&gt;
# [[#Update PRONOM]]&lt;br /&gt;
# Write documentation&lt;br /&gt;
# Update dependencies&lt;br /&gt;
# [[#Build deb/rpm packages]]&lt;br /&gt;
# Test packages for new installs and upgrades&lt;br /&gt;
# [[#Tag Release]]&lt;br /&gt;
# Update ansible roles&lt;br /&gt;
# Announce release&lt;br /&gt;
&lt;br /&gt;
== Translations ==&lt;br /&gt;
&lt;br /&gt;
'''Needs to be improved!'''&lt;br /&gt;
&lt;br /&gt;
* Determine code freeze / call for translations process&lt;br /&gt;
* Describe processes: push and pull - and when it needs to happen&lt;br /&gt;
* We made a choice on how we're using Transifex to keep things simple: only one branch at a time pushed to Transifex. E.g. once SS 0.10.0 is released we have to decide if:&lt;br /&gt;
*# We move Transifex to stable/0.10.x for a while so we can work on a minor release with translation fixes (e.g. 0.10.1), or&lt;br /&gt;
*# We move to qa/0.11.x which would only make possible to bring new translations to SS 0.11.0.&lt;br /&gt;
* Affected repositories&lt;br /&gt;
** archivematica-storage-service&lt;br /&gt;
** archivematica-workflow&lt;br /&gt;
** archivematica-dashboard&lt;br /&gt;
*** Includes archivematica-fpr-admin&lt;br /&gt;
*** Includes appraisal-tab&lt;br /&gt;
&lt;br /&gt;
== Update PRONOM ==&lt;br /&gt;
&lt;br /&gt;
PRONOM needs to be updated in our file identification tools, FIDO &amp;amp; Siegfried, as well as in the FPR.&lt;br /&gt;
&lt;br /&gt;
=== Update FIDO ===&lt;br /&gt;
&lt;br /&gt;
The FPR update currently use FIDO as a source for new PRONOM, since it is formatted nicer than PRONOM offers, so we depend on FIDO having updated their PRONOM.  If that has not happened, we can generate a new formats-v##.xml by updating signatures manually. Artefactual can also update PRONOM and submit a PR to FIDO.&lt;br /&gt;
&lt;br /&gt;
# Checkout fido from https://github.com/openpreserve/fido&lt;br /&gt;
# Update signatures&lt;br /&gt;
#* Run &amp;lt;code&amp;gt;python -m fido.update_signatures&amp;lt;/code&amp;gt; from the fido repository root&lt;br /&gt;
# Add:&lt;br /&gt;
#* New signature file &amp;lt;code&amp;gt;fido/conf/DROID_SignatureFile-v##.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
#* New formats file &amp;lt;code&amp;gt;fido/conf/formats-v##.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
#* New PRONOM zip file &amp;lt;code&amp;gt;fido/conf/pronom-xml-v##.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Updated &amp;lt;code&amp;gt;fido/conf/versions.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
# Remove:&lt;br /&gt;
#* Old signature file&lt;br /&gt;
#* Old formats file&lt;br /&gt;
#* Old PRONOM zip file&lt;br /&gt;
# Update &amp;lt;code&amp;gt;fido/fido.py&amp;lt;/code&amp;gt; to point to the new format_files&lt;br /&gt;
# Create pull request.  This may trigger a release from FIDO&lt;br /&gt;
&lt;br /&gt;
=== Package FIDO ===&lt;br /&gt;
&lt;br /&gt;
First, clone the [https://github.com/artefactual-labs/am-packbuild/  am-packbuild]  repo. The most recent work has been done in branch dev/packages-1.6-docker, and needs to be merged into main.&lt;br /&gt;
&lt;br /&gt;
Update the Makefiles available at &amp;lt;code&amp;gt;rpm/fido/Makefile&amp;lt;/code&amp;gt;, and  &amp;lt;code&amp;gt;deb/fido/Makefile&amp;lt;/code&amp;gt; , and run &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; in each directory to build the packages.&lt;br /&gt;
&lt;br /&gt;
=== Package Siegfried ===&lt;br /&gt;
&lt;br /&gt;
First, clone the [https://github.com/artefactual-labs/am-packbuild/  am-packbuild]  repo. The most recent work has been done in branch dev/packages-1.6-docker, and needs to be merged into main.&lt;br /&gt;
&lt;br /&gt;
Update the Makefiles available at &amp;lt;code&amp;gt;rpm/siegfried/Makefile&amp;lt;/code&amp;gt;, and  &amp;lt;code&amp;gt;deb/siegfried/Makefile&amp;lt;/code&amp;gt; , and run &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; in each directory to build the packages.&lt;br /&gt;
&lt;br /&gt;
=== Update FPR ===&lt;br /&gt;
&lt;br /&gt;
This process is currently more convoluted than it needs to be, and should be simplified.&lt;br /&gt;
&lt;br /&gt;
This depends on FIDO having updated their PRONOM files. See [[#Update FIDO]]&lt;br /&gt;
&lt;br /&gt;
# Install the latest stable Archivematica release&lt;br /&gt;
# Generate a JSON with the current version of the FPR (for use later)&lt;br /&gt;
#* &amp;lt;code&amp;gt;./src/dashboard/src/manage.py dumpdata fpr &amp;gt; fpr-current.json&amp;lt;/code&amp;gt;&lt;br /&gt;
# Install the latest development version of Archivematica&lt;br /&gt;
# Generate a blank data migration in the FPR-admin module&lt;br /&gt;
#* E.g. &amp;lt;code&amp;gt;./src/dashboard/src/manage.py makemigrations --empty --name pronom_89 fpr&amp;lt;/code&amp;gt;&lt;br /&gt;
# Generate the FPR migration body.  This also updates the local database's FPR with the new PRONOM IDs&lt;br /&gt;
#* E.g. &amp;lt;code&amp;gt;am import-pronom-ids fido/fido/conf/formats-v89.xml --output-filename archivematica/pronom89.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
# Copy the output into the blank migration, add RunPython operation&lt;br /&gt;
#* &amp;lt;code&amp;gt;migrations.RunPython(data_migration),&amp;lt;/code&amp;gt;&lt;br /&gt;
# Due to a [https://projects.artefactual.com/issues/10466#change-46673 bug], fix the imports&lt;br /&gt;
#* Remove the &amp;lt;code&amp;gt;apps.get_model&amp;lt;/code&amp;gt; lines&lt;br /&gt;
#* Import the models directly with &amp;lt;code&amp;gt;from fpr.models import Format, FormatVersion, IDRule&amp;lt;/code&amp;gt;&lt;br /&gt;
# Commit&lt;br /&gt;
# Deploy on testing pipeline&lt;br /&gt;
# (Analysts) Update the new entries&lt;br /&gt;
#* Move new formats to a more appropriate category&lt;br /&gt;
#* Create rules &amp;amp; commands&lt;br /&gt;
#* Test with data for new formats&lt;br /&gt;
# Generate a JSON with the updated version of the FPR on the testing pipeline&lt;br /&gt;
#* &amp;lt;code&amp;gt;./src/dashboard/src/manage.py dumpdata fpr &amp;gt; fpr-updated.json&amp;lt;/code&amp;gt;&lt;br /&gt;
# Get the updates as JSON&lt;br /&gt;
#* E.g. &amp;lt;code&amp;gt;am get-fpr-changes fpr-current.json fpr-updated.json src/dashboard/src/fpr/migrations/pronom_89.json&amp;lt;/code&amp;gt;&lt;br /&gt;
# Update the migration to load the JSON updates&lt;br /&gt;
#* Replace the contents of the data migration function with&lt;br /&gt;
#** &amp;lt;code&amp;gt;fixture_file = os.path.join(os.path.dirname(__file__), 'pronom_89.json')&amp;lt;/code&amp;gt;&lt;br /&gt;
#** &amp;lt;code&amp;gt;call_command('loaddata', fixture_file, app_label='fpr')&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Remove the direct imports from the bug&lt;br /&gt;
#* Improvement Note: Because this is using loaddata, this will have problems if the FPR models are changed. A possible solution is to update get-fpr-changes to generate a migration instead of JSON&lt;br /&gt;
# Commit&lt;br /&gt;
# Merge&lt;br /&gt;
&lt;br /&gt;
== Update dependencies ==&lt;br /&gt;
&lt;br /&gt;
=== Python Packages ===&lt;br /&gt;
&lt;br /&gt;
[https://github.com/artefactual-labs/mets-reader-writer metsrw] and [https://github.com/artefactual-labs/agentarchives agentarchives] both have Makefiles that handle most of the packaging&lt;br /&gt;
&lt;br /&gt;
# Check for open PRs, merge as necessary&lt;br /&gt;
# Update &amp;lt;code&amp;gt;setup.py&amp;lt;/code&amp;gt; with the new version, create a pull request, code review, [[Merging | merge]].&lt;br /&gt;
# Tag new release, push tag&lt;br /&gt;
#* &amp;lt;code&amp;gt;git push --tags&amp;lt;/code&amp;gt;&lt;br /&gt;
# Run &amp;lt;code&amp;gt;make package&amp;lt;/code&amp;gt;&lt;br /&gt;
#* This will build the package and upload it to PyPI. It will prompt for your PyPI username and password for the upload&lt;br /&gt;
#* The Makefile was created from instructions at https://packaging.python.org/distributing/&lt;br /&gt;
# &amp;lt;code&amp;gt;make clean&amp;lt;/code&amp;gt; will delete packaging related files&lt;br /&gt;
&lt;br /&gt;
== Build deb/rpm packages ==&lt;br /&gt;
&lt;br /&gt;
The am-packbuild repository has all the code related to building packages, except the building gpg keys. The steps to follow in order to build production production packages are as follow&lt;br /&gt;
&lt;br /&gt;
=== Debian packages ===&lt;br /&gt;
&lt;br /&gt;
# Clone the [https://github.com/artefactual-labs/am-packbuild am-packbuild] repo. Latest work is available in dev/packages-1.6-docker&lt;br /&gt;
# Put your gpg private key into &amp;lt;code&amp;gt;debs/GPG-KEYS-REPOS&amp;lt;/code&amp;gt;. That's the place the Dockerfile looks for it when building the environment.&lt;br /&gt;
# Update the makefile at &amp;lt;code&amp;gt;debs/archivematica/Makefile&amp;lt;/code&amp;gt; in order to reflect version/keys you want to use. If you want to build the storage service, you need also to change the packbuild.py line to reflect that (TODO: create service-storage package folder)&lt;br /&gt;
This dockerfile uses packbuild.py  script, whose function is downloadig the code from github, creating a debian/changelog file for each ubuntu version with the expected version name and description of last commit included, and build the package aftewards. It can be run on their own too, without the need of a docker environment.&lt;br /&gt;
# Run &amp;lt;make&amp;gt;, and the packages will be available in the &amp;lt;code&amp;gt;build&amp;lt;/code&amp;gt; once the building finishes.&lt;br /&gt;
# Upload packages to public debian repository&lt;br /&gt;
&lt;br /&gt;
=== Debian reposities ===&lt;br /&gt;
&lt;br /&gt;
There are two debian repositories, one for archivematica packages, and one for dependencies. The procedure in order to create new ones, or upload packages to them, is the same:&lt;br /&gt;
&lt;br /&gt;
#* Create folder for repo, and configuration file:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
mkdir -p /path/to/repos/repo/conf&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt; /path/to/repos/repo/conf/distributions &amp;lt;&amp;lt; EOF&lt;br /&gt;
&lt;br /&gt;
Codename: trusty&lt;br /&gt;
&lt;br /&gt;
Components: main&lt;br /&gt;
&lt;br /&gt;
Architectures: amd64 source&lt;br /&gt;
&lt;br /&gt;
SignWith: &amp;lt;short gpg keyid&amp;gt; &lt;br /&gt;
&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#* Go inside the repo, and import the packages previously uploaded with:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
cd /path/to/repos/repo/&lt;br /&gt;
&lt;br /&gt;
reprepro includedeb trusty /path/to/packages/*.deb&lt;br /&gt;
&lt;br /&gt;
reprepro includedsc trusty /path/to/packages/*.deb&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The current official repo is at packages.archivematica.org&lt;br /&gt;
&lt;br /&gt;
=== RPM Packages ===&lt;br /&gt;
&lt;br /&gt;
# Package specs are available in [https://github.com/artefactual-labs/am-packbuild/tree/dev/packaging-1.6-docker/rpm am-packbuild/rpms]&lt;br /&gt;
# There are vars in the Makefiles for version/release , so update them when needed&lt;br /&gt;
# In order to build them, just go into the directory you want to build, and run “make”&lt;br /&gt;
&lt;br /&gt;
=== RPM Repositories ===&lt;br /&gt;
&lt;br /&gt;
Once the packages are built, upload them to packages.archivematica.org/&amp;lt;version&amp;gt;/centos&lt;br /&gt;
Go inside that dir, and run “createrepo .” (For packages other than archivematica , use  “centos-extras” repository)&lt;br /&gt;
&lt;br /&gt;
=== Development stage ===&lt;br /&gt;
&lt;br /&gt;
In the final stages of development, the repositories for the new releases are created, but packages are signed with a development key to avoid mistakes. Once the development stage finishes, all new packages need to be rebuild using the production keys.&lt;br /&gt;
&lt;br /&gt;
Development packages are built on each new commit to stable branches by Jenkins. Repositories are available at http://jenkins-ci.archivematica.org/repos/&lt;br /&gt;
&lt;br /&gt;
== Website ==&lt;br /&gt;
&lt;br /&gt;
'''Needs to be improved!'''&lt;br /&gt;
&lt;br /&gt;
==== Homepage ====&lt;br /&gt;
&lt;br /&gt;
* Make changes in archivematica-web.git&lt;br /&gt;
** Update links&lt;br /&gt;
** Add new doc repos&lt;br /&gt;
* Deploy&lt;br /&gt;
** Log in sites-pub as archivematica-web and run update-web.sh&lt;br /&gt;
&lt;br /&gt;
==== Documentation ====&lt;br /&gt;
&lt;br /&gt;
* Deploy&lt;br /&gt;
** Log in sites-pub as archivematica-web and run update-docs.sh&lt;br /&gt;
&lt;br /&gt;
==== Wiki ====&lt;br /&gt;
&lt;br /&gt;
* Release notes&lt;br /&gt;
* Installation notes&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
== News ==&lt;br /&gt;
&lt;br /&gt;
* Twitter&lt;br /&gt;
* Mailing list&lt;br /&gt;
* News section in artefactual.com&lt;br /&gt;
&lt;br /&gt;
== Update ansible roles ==&lt;br /&gt;
&lt;br /&gt;
Check that the deploy-pub vars files for archivematica are updated, and the ansible-ansiblematica-src and ansible-archivematica-pkg roles are able to deploy the new version&lt;br /&gt;
&lt;br /&gt;
== Tag Release ==&lt;br /&gt;
&lt;br /&gt;
# Add release tags to repositories&lt;br /&gt;
#* Archivematica&lt;br /&gt;
#* Storage Service&lt;br /&gt;
#* FPR-admin&lt;br /&gt;
#* appraisal tab&lt;br /&gt;
#* transfer browser&lt;br /&gt;
#* Others?&lt;br /&gt;
# Create stable/#.x branch&lt;br /&gt;
# Delete qa/#.x branch if necessary&lt;br /&gt;
&lt;br /&gt;
[[Category:Process documentation]]&lt;/div&gt;</summary>
		<author><name>Scollazo</name></author>
	</entry>
	<entry>
		<id>https://wiki.archivematica.org/index.php?title=Release_Process&amp;diff=11813</id>
		<title>Release Process</title>
		<link rel="alternate" type="text/html" href="https://wiki.archivematica.org/index.php?title=Release_Process&amp;diff=11813"/>
		<updated>2017-04-11T17:34:46Z</updated>

		<summary type="html">&lt;p&gt;Scollazo: /* Build deb/rpm packages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is an outline/checklist of the process to create Archivematica &amp;amp; Storage service releases.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
# Merge new features&lt;br /&gt;
# Test new features&lt;br /&gt;
# [[#Update PRONOM]]&lt;br /&gt;
# Write documentation&lt;br /&gt;
# Update dependencies&lt;br /&gt;
# [[#Build deb/rpm packages]]&lt;br /&gt;
# Test packages for new installs and upgrades&lt;br /&gt;
# [[#Tag Release]]&lt;br /&gt;
# Update ansible roles&lt;br /&gt;
# Announce release&lt;br /&gt;
&lt;br /&gt;
== Translations ==&lt;br /&gt;
&lt;br /&gt;
'''Needs to be improved!'''&lt;br /&gt;
&lt;br /&gt;
* Determine code freeze / call for translations process&lt;br /&gt;
* Describe processes: push and pull - and when it needs to happen&lt;br /&gt;
* We made a choice on how we're using Transifex to keep things simple: only one branch at a time pushed to Transifex. E.g. once SS 0.10.0 is released we have to decide if:&lt;br /&gt;
*# We move Transifex to stable/0.10.x for a while so we can work on a minor release with translation fixes (e.g. 0.10.1), or&lt;br /&gt;
*# We move to qa/0.11.x which would only make possible to bring new translations to SS 0.11.0.&lt;br /&gt;
* Affected repositories&lt;br /&gt;
** archivematica-storage-service&lt;br /&gt;
** archivematica-workflow&lt;br /&gt;
** archivematica-dashboard&lt;br /&gt;
*** Includes archivematica-fpr-admin&lt;br /&gt;
*** Includes appraisal-tab&lt;br /&gt;
&lt;br /&gt;
== Update PRONOM ==&lt;br /&gt;
&lt;br /&gt;
PRONOM needs to be updated in our file identification tools, FIDO &amp;amp; Siegfried, as well as in the FPR.&lt;br /&gt;
&lt;br /&gt;
=== Update FIDO ===&lt;br /&gt;
&lt;br /&gt;
The FPR update currently use FIDO as a source for new PRONOM, since it is formatted nicer than PRONOM offers, so we depend on FIDO having updated their PRONOM.  If that has not happened, we can generate a new formats-v##.xml by updating signatures manually. Artefactual can also update PRONOM and submit a PR to FIDO.&lt;br /&gt;
&lt;br /&gt;
# Checkout fido from https://github.com/openpreserve/fido&lt;br /&gt;
# Update signatures&lt;br /&gt;
#* Run &amp;lt;code&amp;gt;python -m fido.update_signatures&amp;lt;/code&amp;gt; from the fido repository root&lt;br /&gt;
# Add:&lt;br /&gt;
#* New signature file &amp;lt;code&amp;gt;fido/conf/DROID_SignatureFile-v##.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
#* New formats file &amp;lt;code&amp;gt;fido/conf/formats-v##.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
#* New PRONOM zip file &amp;lt;code&amp;gt;fido/conf/pronom-xml-v##.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Updated &amp;lt;code&amp;gt;fido/conf/versions.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
# Remove:&lt;br /&gt;
#* Old signature file&lt;br /&gt;
#* Old formats file&lt;br /&gt;
#* Old PRONOM zip file&lt;br /&gt;
# Update &amp;lt;code&amp;gt;fido/fido.py&amp;lt;/code&amp;gt; to point to the new format_files&lt;br /&gt;
# Create pull request.  This may trigger a release from FIDO&lt;br /&gt;
&lt;br /&gt;
=== Package FIDO ===&lt;br /&gt;
&lt;br /&gt;
First, clone the [https://github.com/artefactual-labs/am-packbuild/  am-packbuild]  repo. The most recent work has been done in branch dev/packages-1.6-docker, and needs to be merged into main.&lt;br /&gt;
&lt;br /&gt;
Update the Makefiles available at &amp;lt;code&amp;gt;rpm/fido/Makefile&amp;lt;/code&amp;gt;, and  &amp;lt;code&amp;gt;deb/fido/Makefile&amp;lt;/code&amp;gt; , and run &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; in each directory to build the packages.&lt;br /&gt;
&lt;br /&gt;
=== Package Siegfried ===&lt;br /&gt;
&lt;br /&gt;
First, clone the [https://github.com/artefactual-labs/am-packbuild/  am-packbuild]  repo. The most recent work has been done in branch dev/packages-1.6-docker, and needs to be merged into main.&lt;br /&gt;
&lt;br /&gt;
Update the Makefiles available at &amp;lt;code&amp;gt;rpm/siegfried/Makefile&amp;lt;/code&amp;gt;, and  &amp;lt;code&amp;gt;deb/siegfried/Makefile&amp;lt;/code&amp;gt; , and run &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; in each directory to build the packages.&lt;br /&gt;
&lt;br /&gt;
=== Update FPR ===&lt;br /&gt;
&lt;br /&gt;
This process is currently more convoluted than it needs to be, and should be simplified.&lt;br /&gt;
&lt;br /&gt;
This depends on FIDO having updated their PRONOM files. See [[#Update FIDO]]&lt;br /&gt;
&lt;br /&gt;
# Install the latest stable Archivematica release&lt;br /&gt;
# Generate a JSON with the current version of the FPR (for use later)&lt;br /&gt;
#* &amp;lt;code&amp;gt;./src/dashboard/src/manage.py dumpdata fpr &amp;gt; fpr-current.json&amp;lt;/code&amp;gt;&lt;br /&gt;
# Install the latest development version of Archivematica&lt;br /&gt;
# Generate a blank data migration in the FPR-admin module&lt;br /&gt;
#* E.g. &amp;lt;code&amp;gt;./src/dashboard/src/manage.py makemigrations --empty --name pronom_89 fpr&amp;lt;/code&amp;gt;&lt;br /&gt;
# Generate the FPR migration body.  This also updates the local database's FPR with the new PRONOM IDs&lt;br /&gt;
#* E.g. &amp;lt;code&amp;gt;am import-pronom-ids fido/fido/conf/formats-v89.xml --output-filename archivematica/pronom89.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
# Copy the output into the blank migration, add RunPython operation&lt;br /&gt;
#* &amp;lt;code&amp;gt;migrations.RunPython(data_migration),&amp;lt;/code&amp;gt;&lt;br /&gt;
# Due to a [https://projects.artefactual.com/issues/10466#change-46673 bug], fix the imports&lt;br /&gt;
#* Remove the &amp;lt;code&amp;gt;apps.get_model&amp;lt;/code&amp;gt; lines&lt;br /&gt;
#* Import the models directly with &amp;lt;code&amp;gt;from fpr.models import Format, FormatVersion, IDRule&amp;lt;/code&amp;gt;&lt;br /&gt;
# Commit&lt;br /&gt;
# Deploy on testing pipeline&lt;br /&gt;
# (Analysts) Update the new entries&lt;br /&gt;
#* Move new formats to a more appropriate category&lt;br /&gt;
#* Create rules &amp;amp; commands&lt;br /&gt;
#* Test with data for new formats&lt;br /&gt;
# Generate a JSON with the updated version of the FPR on the testing pipeline&lt;br /&gt;
#* &amp;lt;code&amp;gt;./src/dashboard/src/manage.py dumpdata fpr &amp;gt; fpr-updated.json&amp;lt;/code&amp;gt;&lt;br /&gt;
# Get the updates as JSON&lt;br /&gt;
#* E.g. &amp;lt;code&amp;gt;am get-fpr-changes fpr-current.json fpr-updated.json src/dashboard/src/fpr/migrations/pronom_89.json&amp;lt;/code&amp;gt;&lt;br /&gt;
# Update the migration to load the JSON updates&lt;br /&gt;
#* Replace the contents of the data migration function with&lt;br /&gt;
#** &amp;lt;code&amp;gt;fixture_file = os.path.join(os.path.dirname(__file__), 'pronom_89.json')&amp;lt;/code&amp;gt;&lt;br /&gt;
#** &amp;lt;code&amp;gt;call_command('loaddata', fixture_file, app_label='fpr')&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Remove the direct imports from the bug&lt;br /&gt;
#* Improvement Note: Because this is using loaddata, this will have problems if the FPR models are changed. A possible solution is to update get-fpr-changes to generate a migration instead of JSON&lt;br /&gt;
# Commit&lt;br /&gt;
# Merge&lt;br /&gt;
&lt;br /&gt;
== Update dependencies ==&lt;br /&gt;
&lt;br /&gt;
=== Python Packages ===&lt;br /&gt;
&lt;br /&gt;
[https://github.com/artefactual-labs/mets-reader-writer metsrw] and [https://github.com/artefactual-labs/agentarchives agentarchives] both have Makefiles that handle most of the packaging&lt;br /&gt;
&lt;br /&gt;
# Check for open PRs, merge as necessary&lt;br /&gt;
# Update &amp;lt;code&amp;gt;setup.py&amp;lt;/code&amp;gt; with the new version, create a pull request, code review, [[Merging | merge]].&lt;br /&gt;
# Tag new release, push tag&lt;br /&gt;
#* &amp;lt;code&amp;gt;git push --tags&amp;lt;/code&amp;gt;&lt;br /&gt;
# Run &amp;lt;code&amp;gt;make package&amp;lt;/code&amp;gt;&lt;br /&gt;
#* This will build the package and upload it to PyPI. It will prompt for your PyPI username and password for the upload&lt;br /&gt;
#* The Makefile was created from instructions at https://packaging.python.org/distributing/&lt;br /&gt;
# &amp;lt;code&amp;gt;make clean&amp;lt;/code&amp;gt; will delete packaging related files&lt;br /&gt;
&lt;br /&gt;
== Build deb/rpm packages ==&lt;br /&gt;
&lt;br /&gt;
The am-packbuild repository has all the code related to building packages, except the building gpg keys. The steps to follow in order to build production production packages are as follow&lt;br /&gt;
&lt;br /&gt;
=== Debian packages ===&lt;br /&gt;
&lt;br /&gt;
# Clone the [https://github.com/artefactual-labs/am-packbuild am-packbuild] repo. Latest work is available in dev/packages-1.6-docker&lt;br /&gt;
# Put your gpg private key into &amp;lt;code&amp;gt;debs/GPG-KEYS-REPOS&amp;lt;/code&amp;gt;. That's the place the Dockerfile looks for it when building the environment.&lt;br /&gt;
# Update the makefile at &amp;lt;code&amp;gt;debs/archivematica/Makefile&amp;lt;/code&amp;gt; in order to reflect version/keys you want to use. If you want to build the storage service, you need also to change the packbuild.py line to reflect that (TODO: create service-storage package folder)&lt;br /&gt;
This dockerfile uses packbuild.py  script, whose function is downloadig the code from github, creating a debian/changelog file for each ubuntu version with the expected version name and description of last commit included, and build the package aftewards. It can be run on their own too, without the need of a docker environment.&lt;br /&gt;
# Run &amp;lt;make&amp;gt;, and the packages will be available in the &amp;lt;code&amp;gt;build&amp;lt;/code&amp;gt; once the building finishes.&lt;br /&gt;
# Upload packages to public debian repository&lt;br /&gt;
&lt;br /&gt;
=== Debian reposities ===&lt;br /&gt;
&lt;br /&gt;
There are two debian repositories, one for archivematica packages, and one for dependencies. The procedure in order to create new ones, or upload packages to them, is the same:&lt;br /&gt;
&lt;br /&gt;
#* Create folder for repo, and configuration file:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
mkdir -p /path/to/repos/repo/conf&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt; /path/to/repos/repo/conf/distributions &amp;lt;&amp;lt; EOF&lt;br /&gt;
&lt;br /&gt;
Codename: trusty&lt;br /&gt;
&lt;br /&gt;
Components: main&lt;br /&gt;
&lt;br /&gt;
Architectures: amd64 source&lt;br /&gt;
&lt;br /&gt;
SignWith: &amp;lt;short gpg keyid&amp;gt; &lt;br /&gt;
&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#* Go inside the repo, and import the packages previously uploaded with:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
cd /path/to/repos/repo/&lt;br /&gt;
&lt;br /&gt;
reprepro includedeb trusty /path/to/packages/*.deb&lt;br /&gt;
&lt;br /&gt;
reprepro includedsc trusty /path/to/packages/*.deb&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The current official repo is at packages.archivematica.org&lt;br /&gt;
&lt;br /&gt;
=== RPM Packages ===&lt;br /&gt;
&lt;br /&gt;
# Package specs are available in [https://github.com/artefactual-labs/am-packbuild/tree/dev/packaging-1.6-docker/rpm am-packbuild/rpms]&lt;br /&gt;
# There are vars in the Makefiles for version/release , so update them when needed&lt;br /&gt;
# In order to build them, just go into the directory you want to build, and run “make”&lt;br /&gt;
&lt;br /&gt;
=== RPM Repositories ===&lt;br /&gt;
&lt;br /&gt;
Once the packages are built, upload them to packages.archivematica.org/&amp;lt;version&amp;gt;/centos&lt;br /&gt;
Go inside that dir, and run “createrepo .” (For packages other than archivematica , use  “centos-extras” repository)&lt;br /&gt;
&lt;br /&gt;
=== Development stage ===&lt;br /&gt;
&lt;br /&gt;
In the final stages of development, the repositories for the new releases are created, but packages are signed with a development key to avoid mistakes. Once the development stage finishes, all new packages need to be rebuild using the production keys.&lt;br /&gt;
&lt;br /&gt;
== Website ==&lt;br /&gt;
&lt;br /&gt;
'''Needs to be improved!'''&lt;br /&gt;
&lt;br /&gt;
==== Homepage ====&lt;br /&gt;
&lt;br /&gt;
* Make changes in archivematica-web.git&lt;br /&gt;
** Update links&lt;br /&gt;
** Add new doc repos&lt;br /&gt;
* Deploy&lt;br /&gt;
** Log in sites-pub as archivematica-web and run update-web.sh&lt;br /&gt;
&lt;br /&gt;
==== Documentation ====&lt;br /&gt;
&lt;br /&gt;
* Deploy&lt;br /&gt;
** Log in sites-pub as archivematica-web and run update-docs.sh&lt;br /&gt;
&lt;br /&gt;
==== Wiki ====&lt;br /&gt;
&lt;br /&gt;
* Release notes&lt;br /&gt;
* Installation notes&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
== News ==&lt;br /&gt;
&lt;br /&gt;
* Twitter&lt;br /&gt;
* Mailing list&lt;br /&gt;
* News section in artefactual.com&lt;br /&gt;
&lt;br /&gt;
== Update ansible roles ==&lt;br /&gt;
&lt;br /&gt;
Check that the deploy-pub vars files for archivematica are updated, and the ansible-ansiblematica-src and ansible-archivematica-pkg roles are able to deploy the new version&lt;br /&gt;
&lt;br /&gt;
== Tag Release ==&lt;br /&gt;
&lt;br /&gt;
# Add release tags to repositories&lt;br /&gt;
#* Archivematica&lt;br /&gt;
#* Storage Service&lt;br /&gt;
#* FPR-admin&lt;br /&gt;
#* appraisal tab&lt;br /&gt;
#* transfer browser&lt;br /&gt;
#* Others?&lt;br /&gt;
# Create stable/#.x branch&lt;br /&gt;
# Delete qa/#.x branch if necessary&lt;br /&gt;
&lt;br /&gt;
[[Category:Process documentation]]&lt;/div&gt;</summary>
		<author><name>Scollazo</name></author>
	</entry>
	<entry>
		<id>https://wiki.archivematica.org/index.php?title=Release_Process&amp;diff=11777</id>
		<title>Release Process</title>
		<link rel="alternate" type="text/html" href="https://wiki.archivematica.org/index.php?title=Release_Process&amp;diff=11777"/>
		<updated>2017-03-30T21:11:59Z</updated>

		<summary type="html">&lt;p&gt;Scollazo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is an outline/checklist of the process to create Archivematica &amp;amp; Storage service releases.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
# Merge new features&lt;br /&gt;
# Test new features&lt;br /&gt;
# [[#Update PRONOM]]&lt;br /&gt;
# Write documentation&lt;br /&gt;
# [[#Build deb/rpm packages]]&lt;br /&gt;
# [[#Tag Release]]&lt;br /&gt;
# Update ansible roles&lt;br /&gt;
# Announce release&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Update PRONOM ==&lt;br /&gt;
&lt;br /&gt;
PRONOM needs to be updated in our file identification tools, FIDO &amp;amp; Siegfried, as well as in the FPR.&lt;br /&gt;
&lt;br /&gt;
=== Update FIDO ===&lt;br /&gt;
&lt;br /&gt;
The FPR update currently use FIDO as a source for new PRONOM, since it is formatted nicer than PRONOM offers, so we depend on FIDO having updated their PRONOM.  If that has not happened, we can generate a new formats-v##.xml by updating signatures manually. Artefactual can also update PRONOM and submit a PR to FIDO.&lt;br /&gt;
&lt;br /&gt;
# Checkout fido from https://github.com/openpreserve/fido&lt;br /&gt;
# Update signatures&lt;br /&gt;
#* Run &amp;lt;code&amp;gt;python -m fido.update_signatures&amp;lt;/code&amp;gt; from the fido repository root&lt;br /&gt;
# Add:&lt;br /&gt;
#* New signature file &amp;lt;code&amp;gt;fido/conf/DROID_SignatureFile-v##.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
#* New formats file &amp;lt;code&amp;gt;fido/conf/formats-v##.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
#* New PRONOM zip file &amp;lt;code&amp;gt;fido/conf/pronom-xml-v##.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Updated &amp;lt;code&amp;gt;fido/conf/versions.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
# Remove:&lt;br /&gt;
#* Old signature file&lt;br /&gt;
#* Old formats file&lt;br /&gt;
#* Old PRONOM zip file&lt;br /&gt;
# Update &amp;lt;code&amp;gt;fido/fido.py&amp;lt;/code&amp;gt; to point to the new format_files&lt;br /&gt;
# Create pull request.  This may trigger a release from FIDO&lt;br /&gt;
&lt;br /&gt;
=== Package FIDO ===&lt;br /&gt;
&lt;br /&gt;
First, clone the [https://github.com/artefactual-labs/am-packbuild/  am-packbuild]  repo. The most recent work has been done in branch dev/packages-1.6-docker, and needs to be merged into main.&lt;br /&gt;
&lt;br /&gt;
Update the Makefiles available at &amp;lt;code&amp;gt;rpm/fido/Makefile&amp;lt;/code&amp;gt;, and  &amp;lt;code&amp;gt;deb/fido/Makefile&amp;lt;/code&amp;gt; , and run &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; in each directory to build the packages.&lt;br /&gt;
&lt;br /&gt;
=== Package Siegfried ===&lt;br /&gt;
&lt;br /&gt;
First, clone the [https://github.com/artefactual-labs/am-packbuild/  am-packbuild]  repo. The most recent work has been done in branch dev/packages-1.6-docker, and needs to be merged into main.&lt;br /&gt;
&lt;br /&gt;
Update the Makefiles available at &amp;lt;code&amp;gt;rpm/siegfried/Makefile&amp;lt;/code&amp;gt;, and  &amp;lt;code&amp;gt;deb/siegfried/Makefile&amp;lt;/code&amp;gt; , and run &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; in each directory to build the packages.&lt;br /&gt;
&lt;br /&gt;
=== Update FPR ===&lt;br /&gt;
&lt;br /&gt;
This process is currently more convoluted than it needs to be, and should be simplified.&lt;br /&gt;
&lt;br /&gt;
This depends on FIDO having updated their PRONOM files. See [[#Update FIDO]]&lt;br /&gt;
&lt;br /&gt;
# Install the latest stable Archivematica release&lt;br /&gt;
# Generate a JSON with the current version of the FPR (for use later)&lt;br /&gt;
#* &amp;lt;code&amp;gt;./src/dashboard/src/manage.py dumpdata fpr &amp;gt; fpr-current.json&amp;lt;/code&amp;gt;&lt;br /&gt;
# Install the latest development version of Archivematica&lt;br /&gt;
# Generate a blank data migration in the FPR-admin module&lt;br /&gt;
#* E.g. &amp;lt;code&amp;gt;./src/dashboard/src/manage.py makemigrations --empty --name pronom_89 fpr&amp;lt;/code&amp;gt;&lt;br /&gt;
# Generate the FPR migration body.  This also updates the local database's FPR with the new PRONOM IDs&lt;br /&gt;
#* E.g. &amp;lt;code&amp;gt;am import-pronom-ids fido/fido/conf/formats-v89.xml --output-filename archivematica/pronom89.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
# Copy the output into the blank migration, add RunPython operation&lt;br /&gt;
#* &amp;lt;code&amp;gt;migrations.RunPython(data_migration),&amp;lt;/code&amp;gt;&lt;br /&gt;
# Due to a [https://projects.artefactual.com/issues/10466#change-46673 bug], fix the imports&lt;br /&gt;
#* Remove the &amp;lt;code&amp;gt;apps.get_model&amp;lt;/code&amp;gt; lines&lt;br /&gt;
#* Import the models directly with &amp;lt;code&amp;gt;from fpr.models import Format, FormatVersion, IDRule&amp;lt;/code&amp;gt;&lt;br /&gt;
# Commit&lt;br /&gt;
# Deploy on testing pipeline&lt;br /&gt;
# (Analysts) Update the new entries&lt;br /&gt;
#* Move new formats to a more appropriate category&lt;br /&gt;
#* Create rules &amp;amp; commands&lt;br /&gt;
#* Test with data for new formats&lt;br /&gt;
# Generate a JSON with the updated version of the FPR on the testing pipeline&lt;br /&gt;
#* &amp;lt;code&amp;gt;./src/dashboard/src/manage.py dumpdata fpr &amp;gt; fpr-updated.json&amp;lt;/code&amp;gt;&lt;br /&gt;
# Get the updates as JSON&lt;br /&gt;
#* E.g. &amp;lt;code&amp;gt;am get-fpr-changes fpr-current.json fpr-updated.json src/dashboard/src/fpr/migrations/pronom_89.json&amp;lt;/code&amp;gt;&lt;br /&gt;
# Update the migration to load the JSON updates&lt;br /&gt;
#* Replace the contents of the data migration function with&lt;br /&gt;
#** &amp;lt;code&amp;gt;fixture_file = os.path.join(os.path.dirname(__file__), 'pronom_89.json')&amp;lt;/code&amp;gt;&lt;br /&gt;
#** &amp;lt;code&amp;gt;call_command('loaddata', fixture_file, app_label='fpr')&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Remove the direct imports from the bug&lt;br /&gt;
#* Improvement Note: Because this is using loaddata, this will have problems if the FPR models are changed. A possible solution is to update get-fpr-changes to generate a migration instead of JSON&lt;br /&gt;
# Commit&lt;br /&gt;
# Merge&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Build deb/rpm packages ==&lt;br /&gt;
&lt;br /&gt;
The am-packbuild repository has all the code related to building packages, except the building gpg keys. The steps to follow in order to build production production packages are as follow&lt;br /&gt;
&lt;br /&gt;
=== Debian packages ===&lt;br /&gt;
&lt;br /&gt;
# Clone the [https://github.com/artefactual-labs/am-packbuild am-packbuild] repo. Latest work is available in dev/packages-1.6-docker&lt;br /&gt;
# Put your gpg private key into &amp;lt;code&amp;gt;debs/GPG-KEYS-REPOS&amp;lt;/code&amp;gt;. That's the place the Dockerfile looks for it when building the environment.&lt;br /&gt;
# Update the makefile at &amp;lt;code&amp;gt;debs/archivematica/Makefile&amp;lt;/code&amp;gt; in order to reflect version/keys you want to use. If you want to build the storage service, you need also to change the packbuild.py line to reflect that (TODO: create service-storage package folder)&lt;br /&gt;
This dockerfile uses packbuild.py  script, whose function is downloadig the code from github, creating a debian/changelog file for each ubuntu version with the expected version name and description of last commit included, and build the package aftewards. It can be run on their own too, without the need of a docker environment.&lt;br /&gt;
# Run &amp;lt;make&amp;gt;, and the packages will be available in the &amp;lt;code&amp;gt;build&amp;lt;/code&amp;gt; once the building finishes.&lt;br /&gt;
# Upload packages to public debian repository&lt;br /&gt;
&lt;br /&gt;
=== Debian reposities ===&lt;br /&gt;
&lt;br /&gt;
There are two debian repositories, one for archivematica packages, and one for dependencies. The procedure in order to create new ones, or upload packages to them, is the same:&lt;br /&gt;
&lt;br /&gt;
#* Create folder for repo, and configuration file:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
mkdir -p /path/to/repos/repo/conf&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt; /path/to/repos/repo/conf/distributions &amp;lt;&amp;lt; EOF&lt;br /&gt;
&lt;br /&gt;
Codename: trusty&lt;br /&gt;
&lt;br /&gt;
Components: main&lt;br /&gt;
&lt;br /&gt;
Architectures: amd64 source&lt;br /&gt;
&lt;br /&gt;
SignWith: &amp;lt;short gpg keyid&amp;gt; &lt;br /&gt;
&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#* Go inside the repo, and import the packages previously uploaded with:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
cd /path/to/repos/repo/&lt;br /&gt;
&lt;br /&gt;
reprepro includedeb trusty /path/to/packages/*.deb&lt;br /&gt;
&lt;br /&gt;
reprepro includedsc trusty /path/to/packages/*.deb&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The current official repo is at packages.archivematica.org&lt;br /&gt;
&lt;br /&gt;
=== RPM Packages ===&lt;br /&gt;
&lt;br /&gt;
# Package specs are available in [https://github.com/artefactual-labs/am-packbuild/tree/dev/packaging-1.6-docker/rpm am-packbuild/rpms]&lt;br /&gt;
# There are vars in the Makefiles for version/release , so update them when needed&lt;br /&gt;
# In order to build them, just go into the directory you want to build, and run “make”&lt;br /&gt;
&lt;br /&gt;
=== RPM Repositories ===&lt;br /&gt;
&lt;br /&gt;
Once the packages are built, upload them to packages.archivematica.org/&amp;lt;version&amp;gt;/centos&lt;br /&gt;
Go inside that dir, and run “createrepo .” (For packages other than archivematica , use  “centos-extras” repository)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Update ansible roles ==&lt;br /&gt;
&lt;br /&gt;
Check that the deploy-pub vars files for archivematica are updated, and the ansible-ansiblematica-src and ansible-archivematica-pkg roles are able to deploy the new version&lt;br /&gt;
&lt;br /&gt;
== Tag Release ==&lt;br /&gt;
&lt;br /&gt;
# Add release tags to repositories&lt;br /&gt;
#* Archivematica&lt;br /&gt;
#* Storage Service&lt;br /&gt;
#* FPR-admin&lt;br /&gt;
#* appraisal tab&lt;br /&gt;
#* transfer browser&lt;br /&gt;
#* Others?&lt;br /&gt;
# Create stable/#.x branch&lt;br /&gt;
# Delete qa/#.x branch if necessary&lt;br /&gt;
&lt;br /&gt;
[[Category:Process documentation]]&lt;/div&gt;</summary>
		<author><name>Scollazo</name></author>
	</entry>
	<entry>
		<id>https://wiki.archivematica.org/index.php?title=Release_Process&amp;diff=11775</id>
		<title>Release Process</title>
		<link rel="alternate" type="text/html" href="https://wiki.archivematica.org/index.php?title=Release_Process&amp;diff=11775"/>
		<updated>2017-03-30T19:03:52Z</updated>

		<summary type="html">&lt;p&gt;Scollazo: Add packaging info&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is an outline/checklist of the process to create Archivematica &amp;amp; Storage service releases.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
# Merge new features&lt;br /&gt;
# Test new features&lt;br /&gt;
# [[#Update PRONOM]]&lt;br /&gt;
# Write documentation&lt;br /&gt;
# Create packages&lt;br /&gt;
# [[#Tag Release]]&lt;br /&gt;
# Announce release&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Update PRONOM ==&lt;br /&gt;
&lt;br /&gt;
PRONOM needs to be updated in our file identification tools, FIDO &amp;amp; Siegfried, as well as in the FPR.&lt;br /&gt;
&lt;br /&gt;
=== Update FIDO ===&lt;br /&gt;
&lt;br /&gt;
The FPR update currently use FIDO as a source for new PRONOM, since it is formatted nicer than PRONOM offers, so we depend on FIDO having updated their PRONOM.  If that has not happened, we can generate a new formats-v##.xml by updating signatures manually. Artefactual can also update PRONOM and submit a PR to FIDO.&lt;br /&gt;
&lt;br /&gt;
# Checkout fido from https://github.com/openpreserve/fido&lt;br /&gt;
# Update signatures&lt;br /&gt;
#* Run &amp;lt;code&amp;gt;python -m fido.update_signatures&amp;lt;/code&amp;gt; from the fido repository root&lt;br /&gt;
# Add:&lt;br /&gt;
#* New signature file &amp;lt;code&amp;gt;fido/conf/DROID_SignatureFile-v##.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
#* New formats file &amp;lt;code&amp;gt;fido/conf/formats-v##.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
#* New PRONOM zip file &amp;lt;code&amp;gt;fido/conf/pronom-xml-v##.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Updated &amp;lt;code&amp;gt;fido/conf/versions.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
# Remove:&lt;br /&gt;
#* Old signature file&lt;br /&gt;
#* Old formats file&lt;br /&gt;
#* Old PRONOM zip file&lt;br /&gt;
# Update &amp;lt;code&amp;gt;fido/fido.py&amp;lt;/code&amp;gt; to point to the new format_files&lt;br /&gt;
# Create pull request.  This may trigger a release from FIDO&lt;br /&gt;
&lt;br /&gt;
=== Package FIDO ===&lt;br /&gt;
&lt;br /&gt;
First, clone the [https://github.com/artefactual-labs/am-packbuild/  am-packbuild]  repo. The most recent work has been done in branch dev/packages-1.6-docker, and needs to be merged into main.&lt;br /&gt;
&lt;br /&gt;
Update the Makefiles available at &amp;lt;code&amp;gt;rpm/fido/Makefile&amp;lt;/code&amp;gt;, and  &amp;lt;code&amp;gt;deb/fido/Makefile&amp;lt;/code&amp;gt; , and run &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; in each directory to build the packages.&lt;br /&gt;
&lt;br /&gt;
=== Package Siegfried ===&lt;br /&gt;
&lt;br /&gt;
First, clone the [https://github.com/artefactual-labs/am-packbuild/  am-packbuild]  repo. The most recent work has been done in branch dev/packages-1.6-docker, and needs to be merged into main.&lt;br /&gt;
&lt;br /&gt;
Update the Makefiles available at &amp;lt;code&amp;gt;rpm/siegfried/Makefile&amp;lt;/code&amp;gt;, and  &amp;lt;code&amp;gt;deb/siegfried/Makefile&amp;lt;/code&amp;gt; , and run &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; in each directory to build the packages.&lt;br /&gt;
&lt;br /&gt;
=== Update FPR ===&lt;br /&gt;
&lt;br /&gt;
This process is currently more convoluted than it needs to be, and should be simplified.&lt;br /&gt;
&lt;br /&gt;
This depends on FIDO having updated their PRONOM files. See [[#Update FIDO]]&lt;br /&gt;
&lt;br /&gt;
# Install the latest stable Archivematica release&lt;br /&gt;
# Generate a JSON with the current version of the FPR (for use later)&lt;br /&gt;
#* &amp;lt;code&amp;gt;./src/dashboard/src/manage.py dumpdata fpr &amp;gt; fpr-current.json&amp;lt;/code&amp;gt;&lt;br /&gt;
# Install the latest development version of Archivematica&lt;br /&gt;
# Generate a blank data migration in the FPR-admin module&lt;br /&gt;
#* E.g. &amp;lt;code&amp;gt;./src/dashboard/src/manage.py makemigrations --empty --name pronom_89 fpr&amp;lt;/code&amp;gt;&lt;br /&gt;
# Generate the FPR migration body.  This also updates the local database's FPR with the new PRONOM IDs&lt;br /&gt;
#* E.g. &amp;lt;code&amp;gt;am import-pronom-ids fido/fido/conf/formats-v89.xml --output-filename archivematica/pronom89.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
# Copy the output into the blank migration, add RunPython operation&lt;br /&gt;
#* &amp;lt;code&amp;gt;migrations.RunPython(data_migration),&amp;lt;/code&amp;gt;&lt;br /&gt;
# Due to a [https://projects.artefactual.com/issues/10466#change-46673 bug], fix the imports&lt;br /&gt;
#* Remove the &amp;lt;code&amp;gt;apps.get_model&amp;lt;/code&amp;gt; lines&lt;br /&gt;
#* Import the models directly with &amp;lt;code&amp;gt;from fpr.models import Format, FormatVersion, IDRule&amp;lt;/code&amp;gt;&lt;br /&gt;
# Commit&lt;br /&gt;
# Deploy on testing pipeline&lt;br /&gt;
# (Analysts) Update the new entries&lt;br /&gt;
#* Move new formats to a more appropriate category&lt;br /&gt;
#* Create rules &amp;amp; commands&lt;br /&gt;
#* Test with data for new formats&lt;br /&gt;
# Generate a JSON with the updated version of the FPR on the testing pipeline&lt;br /&gt;
#* &amp;lt;code&amp;gt;./src/dashboard/src/manage.py dumpdata fpr &amp;gt; fpr-updated.json&amp;lt;/code&amp;gt;&lt;br /&gt;
# Get the updates as JSON&lt;br /&gt;
#* E.g. &amp;lt;code&amp;gt;am get-fpr-changes fpr-current.json fpr-updated.json src/dashboard/src/fpr/migrations/pronom_89.json&amp;lt;/code&amp;gt;&lt;br /&gt;
# Update the migration to load the JSON updates&lt;br /&gt;
#* Replace the contents of the data migration function with&lt;br /&gt;
#** &amp;lt;code&amp;gt;fixture_file = os.path.join(os.path.dirname(__file__), 'pronom_89.json')&amp;lt;/code&amp;gt;&lt;br /&gt;
#** &amp;lt;code&amp;gt;call_command('loaddata', fixture_file, app_label='fpr')&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Remove the direct imports from the bug&lt;br /&gt;
#* Improvement Note: Because this is using loaddata, this will have problems if the FPR models are changed. A possible solution is to update get-fpr-changes to generate a migration instead of JSON&lt;br /&gt;
# Commit&lt;br /&gt;
# Merge&lt;br /&gt;
&lt;br /&gt;
== Tag Release ==&lt;br /&gt;
&lt;br /&gt;
# Add release tags to repositories&lt;br /&gt;
#* Archivematica&lt;br /&gt;
#* Storage Service&lt;br /&gt;
#* FPR-admin&lt;br /&gt;
#* appraisal tab&lt;br /&gt;
#* transfer browser&lt;br /&gt;
#* Others?&lt;br /&gt;
# Create stable/#.x branch&lt;br /&gt;
# Delete qa/#.x branch&lt;br /&gt;
&lt;br /&gt;
== Build deb/rpm packages ==&lt;br /&gt;
&lt;br /&gt;
The am-packbuild repository has all the code related to building packages, except the building gpg keys. The steps to follow in order to build production production packages are as follow&lt;br /&gt;
&lt;br /&gt;
=== Debian packages ===&lt;br /&gt;
&lt;br /&gt;
# Clone the [https://github.com/artefactual-labs/am-packbuild am-packbuild] repo. Latest work is available in dev/packages-1.6-docker&lt;br /&gt;
# Put your gpg private key into &amp;lt;code&amp;gt;debs/GPG-KEYS-REPOS&amp;lt;/code&amp;gt;. That's the place the Dockerfile looks for it when building the environment.&lt;br /&gt;
# Update the makefile at &amp;lt;code&amp;gt;debs/archivematica/Makefile&amp;lt;/code&amp;gt; in order to reflect version/keys you want to use. If you want to build the storage service, you need also to change the packbuild.py line to reflect that (TODO: create service-storage package folder)&lt;br /&gt;
This dockerfile uses packbuild.py  script, whose function is downloadig the code from github, creating a debian/changelog file for each ubuntu version with the expected version name and description of last commit included, and build the package aftewards. It can be run on their own too, without the need of a docker environment.&lt;br /&gt;
# Run &amp;lt;make&amp;gt;, and the packages will be available in the &amp;lt;code&amp;gt;build&amp;lt;/code&amp;gt; once the building finishes.&lt;br /&gt;
# Upload packages to public debian repository&lt;br /&gt;
&lt;br /&gt;
=== Debian reposities ===&lt;br /&gt;
&lt;br /&gt;
There are two debian repositories, one for archivematica packages, and one for dependencies. The procedure in order to create new ones, or upload packages to them, is the same:&lt;br /&gt;
&lt;br /&gt;
#* Create folder for repo, and configuration file:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
mkdir -p /path/to/repos/repo/conf&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt; /path/to/repos/repo/conf/distributions &amp;lt;&amp;lt; EOF&lt;br /&gt;
&lt;br /&gt;
Codename: trusty&lt;br /&gt;
&lt;br /&gt;
Components: main&lt;br /&gt;
&lt;br /&gt;
Architectures: amd64 source&lt;br /&gt;
&lt;br /&gt;
SignWith: &amp;lt;short gpg keyid&amp;gt; &lt;br /&gt;
&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#* Go inside the repo, and import the packages previously uploaded with:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
cd /path/to/repos/repo/&lt;br /&gt;
&lt;br /&gt;
reprepro includedeb trusty /path/to/packages/*.deb&lt;br /&gt;
&lt;br /&gt;
reprepro includedsc trusty /path/to/packages/*.deb&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The current official repo is at packages.archivematica.org&lt;br /&gt;
&lt;br /&gt;
=== RPM Packages ===&lt;br /&gt;
&lt;br /&gt;
# Package specs are available in [https://github.com/artefactual-labs/am-packbuild/tree/dev/packaging-1.6-docker/rpm am-packbuild/rpms]&lt;br /&gt;
# There are vars in the Makefiles for version/release , so update them when needed&lt;br /&gt;
# In order to build them, just go into the directory you want to build, and run “make”&lt;br /&gt;
&lt;br /&gt;
=== RPM Repositories ===&lt;br /&gt;
&lt;br /&gt;
Once the packages are built, upload them to packages.archivematica.org/&amp;lt;version&amp;gt;/centos&lt;br /&gt;
Go inside that dir, and run “createrepo .” (For packages other than archivematica , use  “centos-extras” repository)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Process documentation]]&lt;/div&gt;</summary>
		<author><name>Scollazo</name></author>
	</entry>
	<entry>
		<id>https://wiki.archivematica.org/index.php?title=Release_Process&amp;diff=11771</id>
		<title>Release Process</title>
		<link rel="alternate" type="text/html" href="https://wiki.archivematica.org/index.php?title=Release_Process&amp;diff=11771"/>
		<updated>2017-03-30T16:33:48Z</updated>

		<summary type="html">&lt;p&gt;Scollazo: /* Package Siegfried */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is an outline/checklist of the process to create Archivematica &amp;amp; Storage service releases.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
# Merge new features&lt;br /&gt;
# Test new features&lt;br /&gt;
# [[#Update PRONOM]]&lt;br /&gt;
# Write documentation&lt;br /&gt;
# Create packages&lt;br /&gt;
# [[#Tag Release]]&lt;br /&gt;
# Announce release&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Update PRONOM ==&lt;br /&gt;
&lt;br /&gt;
PRONOM needs to be updated in our file identification tools, FIDO &amp;amp; Siegfried, as well as in the FPR.&lt;br /&gt;
&lt;br /&gt;
=== Update FIDO ===&lt;br /&gt;
&lt;br /&gt;
The FPR update currently use FIDO as a source for new PRONOM, since it is formatted nicer than PRONOM offers, so we depend on FIDO having updated their PRONOM.  If that has not happened, we can generate a new formats-v##.xml by updating signatures manually. Artefactual can also update PRONOM and submit a PR to FIDO.&lt;br /&gt;
&lt;br /&gt;
# Checkout fido from https://github.com/openpreserve/fido&lt;br /&gt;
# Update signatures&lt;br /&gt;
#* Run &amp;lt;code&amp;gt;python -m fido.update_signatures&amp;lt;/code&amp;gt; from the fido repository root&lt;br /&gt;
# Add:&lt;br /&gt;
#* New signature file &amp;lt;code&amp;gt;fido/conf/DROID_SignatureFile-v##.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
#* New formats file &amp;lt;code&amp;gt;fido/conf/formats-v##.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
#* New PRONOM zip file &amp;lt;code&amp;gt;fido/conf/pronom-xml-v##.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Updated &amp;lt;code&amp;gt;fido/conf/versions.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
# Remove:&lt;br /&gt;
#* Old signature file&lt;br /&gt;
#* Old formats file&lt;br /&gt;
#* Old PRONOM zip file&lt;br /&gt;
# Update &amp;lt;code&amp;gt;fido/fido.py&amp;lt;/code&amp;gt; to point to the new format_files&lt;br /&gt;
# Create pull request.  This may trigger a release from FIDO&lt;br /&gt;
&lt;br /&gt;
=== Package FIDO ===&lt;br /&gt;
&lt;br /&gt;
First, clone the [https://github.com/artefactual-labs/am-packbuild/  am-packbuild]  repo. The most recent work has been done in branch dev/packages-1.6-docker, and needs to be merged into main.&lt;br /&gt;
&lt;br /&gt;
Update the Makefiles available at &amp;lt;code&amp;gt;rpm/fido/Makefile&amp;lt;/code&amp;gt;, and  &amp;lt;code&amp;gt;deb/fido/Makefile&amp;lt;/code&amp;gt; , and run &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; in each directory to build the packages.&lt;br /&gt;
&lt;br /&gt;
=== Package Siegfried ===&lt;br /&gt;
&lt;br /&gt;
First, clone the [https://github.com/artefactual-labs/am-packbuild/  am-packbuild]  repo. The most recent work has been done in branch dev/packages-1.6-docker, and needs to be merged into main.&lt;br /&gt;
&lt;br /&gt;
Update the Makefiles available at &amp;lt;code&amp;gt;rpm/siegfried/Makefile&amp;lt;/code&amp;gt;, and  &amp;lt;code&amp;gt;deb/siegfried/Makefile&amp;lt;/code&amp;gt; , and run &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; in each directory to build the packages.&lt;br /&gt;
&lt;br /&gt;
=== Update FPR ===&lt;br /&gt;
&lt;br /&gt;
This process is currently more convoluted than it needs to be, and should be simplified.&lt;br /&gt;
&lt;br /&gt;
This depends on FIDO having updated their PRONOM files. See [[#Update FIDO]]&lt;br /&gt;
&lt;br /&gt;
# Install the latest stable Archivematica release&lt;br /&gt;
# Generate a JSON with the current version of the FPR (for use later)&lt;br /&gt;
#* &amp;lt;code&amp;gt;./src/dashboard/src/manage.py dumpdata fpr &amp;gt; fpr-current.json&amp;lt;/code&amp;gt;&lt;br /&gt;
# Install the latest development version of Archivematica&lt;br /&gt;
# Generate a blank data migration in the FPR-admin module&lt;br /&gt;
#* E.g. &amp;lt;code&amp;gt;./src/dashboard/src/manage.py makemigrations --empty --name pronom_89 fpr&amp;lt;/code&amp;gt;&lt;br /&gt;
# Generate the FPR migration body.  This also updates the local database's FPR with the new PRONOM IDs&lt;br /&gt;
#* E.g. &amp;lt;code&amp;gt;am import-pronom-ids fido/fido/conf/formats-v89.xml --output-filename archivematica/pronom89.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
# Copy the output into the blank migration, add RunPython operation&lt;br /&gt;
#* &amp;lt;code&amp;gt;migrations.RunPython(data_migration),&amp;lt;/code&amp;gt;&lt;br /&gt;
# Due to a [https://projects.artefactual.com/issues/10466#change-46673 bug], fix the imports&lt;br /&gt;
#* Remove the &amp;lt;code&amp;gt;apps.get_model&amp;lt;/code&amp;gt; lines&lt;br /&gt;
#* Import the models directly with &amp;lt;code&amp;gt;from fpr.models import Format, FormatVersion, IDRule&amp;lt;/code&amp;gt;&lt;br /&gt;
# Commit&lt;br /&gt;
# Deploy on testing pipeline&lt;br /&gt;
# (Analysts) Update the new entries&lt;br /&gt;
#* Move new formats to a more appropriate category&lt;br /&gt;
#* Create rules &amp;amp; commands&lt;br /&gt;
#* Test with data for new formats&lt;br /&gt;
# Generate a JSON with the updated version of the FPR on the testing pipeline&lt;br /&gt;
#* &amp;lt;code&amp;gt;./src/dashboard/src/manage.py dumpdata fpr &amp;gt; fpr-updated.json&amp;lt;/code&amp;gt;&lt;br /&gt;
# Get the updates as JSON&lt;br /&gt;
#* E.g. &amp;lt;code&amp;gt;am get-fpr-changes fpr-current.json fpr-updated.json src/dashboard/src/fpr/migrations/pronom_89.json&amp;lt;/code&amp;gt;&lt;br /&gt;
# Update the migration to load the JSON updates&lt;br /&gt;
#* Replace the contents of the data migration function with&lt;br /&gt;
#** &amp;lt;code&amp;gt;fixture_file = os.path.join(os.path.dirname(__file__), 'pronom_89.json')&amp;lt;/code&amp;gt;&lt;br /&gt;
#** &amp;lt;code&amp;gt;call_command('loaddata', fixture_file, app_label='fpr')&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Remove the direct imports from the bug&lt;br /&gt;
#* Improvement Note: Because this is using loaddata, this will have problems if the FPR models are changed. A possible solution is to update get-fpr-changes to generate a migration instead of JSON&lt;br /&gt;
# Commit&lt;br /&gt;
# Merge&lt;br /&gt;
&lt;br /&gt;
== Tag Release ==&lt;br /&gt;
&lt;br /&gt;
# Add release tags to repositories&lt;br /&gt;
#* Archivematica&lt;br /&gt;
#* Storage Service&lt;br /&gt;
#* FPR-admin&lt;br /&gt;
#* appraisal tab&lt;br /&gt;
#* transfer browser&lt;br /&gt;
#* Others?&lt;br /&gt;
# Create stable/#.x branch&lt;br /&gt;
# Delete qa/#.x branch&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Process documentation]]&lt;/div&gt;</summary>
		<author><name>Scollazo</name></author>
	</entry>
	<entry>
		<id>https://wiki.archivematica.org/index.php?title=Release_Process&amp;diff=11770</id>
		<title>Release Process</title>
		<link rel="alternate" type="text/html" href="https://wiki.archivematica.org/index.php?title=Release_Process&amp;diff=11770"/>
		<updated>2017-03-30T16:32:58Z</updated>

		<summary type="html">&lt;p&gt;Scollazo: /* Package FIDO */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is an outline/checklist of the process to create Archivematica &amp;amp; Storage service releases.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
# Merge new features&lt;br /&gt;
# Test new features&lt;br /&gt;
# [[#Update PRONOM]]&lt;br /&gt;
# Write documentation&lt;br /&gt;
# Create packages&lt;br /&gt;
# [[#Tag Release]]&lt;br /&gt;
# Announce release&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Update PRONOM ==&lt;br /&gt;
&lt;br /&gt;
PRONOM needs to be updated in our file identification tools, FIDO &amp;amp; Siegfried, as well as in the FPR.&lt;br /&gt;
&lt;br /&gt;
=== Update FIDO ===&lt;br /&gt;
&lt;br /&gt;
The FPR update currently use FIDO as a source for new PRONOM, since it is formatted nicer than PRONOM offers, so we depend on FIDO having updated their PRONOM.  If that has not happened, we can generate a new formats-v##.xml by updating signatures manually. Artefactual can also update PRONOM and submit a PR to FIDO.&lt;br /&gt;
&lt;br /&gt;
# Checkout fido from https://github.com/openpreserve/fido&lt;br /&gt;
# Update signatures&lt;br /&gt;
#* Run &amp;lt;code&amp;gt;python -m fido.update_signatures&amp;lt;/code&amp;gt; from the fido repository root&lt;br /&gt;
# Add:&lt;br /&gt;
#* New signature file &amp;lt;code&amp;gt;fido/conf/DROID_SignatureFile-v##.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
#* New formats file &amp;lt;code&amp;gt;fido/conf/formats-v##.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
#* New PRONOM zip file &amp;lt;code&amp;gt;fido/conf/pronom-xml-v##.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Updated &amp;lt;code&amp;gt;fido/conf/versions.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
# Remove:&lt;br /&gt;
#* Old signature file&lt;br /&gt;
#* Old formats file&lt;br /&gt;
#* Old PRONOM zip file&lt;br /&gt;
# Update &amp;lt;code&amp;gt;fido/fido.py&amp;lt;/code&amp;gt; to point to the new format_files&lt;br /&gt;
# Create pull request.  This may trigger a release from FIDO&lt;br /&gt;
&lt;br /&gt;
=== Package FIDO ===&lt;br /&gt;
&lt;br /&gt;
First, clone the [https://github.com/artefactual-labs/am-packbuild/  am-packbuild]  repo. The most recent work has been done in branch dev/packages-1.6-docker, and needs to be merged into main.&lt;br /&gt;
&lt;br /&gt;
Update the Makefiles available at &amp;lt;code&amp;gt;rpm/fido/Makefile&amp;lt;/code&amp;gt;, and  &amp;lt;code&amp;gt;deb/fido/Makefile&amp;lt;/code&amp;gt; , and run &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; in each directory to build the packages.&lt;br /&gt;
&lt;br /&gt;
=== Package Siegfried ===&lt;br /&gt;
&lt;br /&gt;
Add packaging instructions here...&lt;br /&gt;
&lt;br /&gt;
=== Update FPR ===&lt;br /&gt;
&lt;br /&gt;
This process is currently more convoluted than it needs to be, and should be simplified.&lt;br /&gt;
&lt;br /&gt;
This depends on FIDO having updated their PRONOM files. See [[#Update FIDO]]&lt;br /&gt;
&lt;br /&gt;
# Install the latest stable Archivematica release&lt;br /&gt;
# Generate a JSON with the current version of the FPR (for use later)&lt;br /&gt;
#* &amp;lt;code&amp;gt;./src/dashboard/src/manage.py dumpdata fpr &amp;gt; fpr-current.json&amp;lt;/code&amp;gt;&lt;br /&gt;
# Install the latest development version of Archivematica&lt;br /&gt;
# Generate a blank data migration in the FPR-admin module&lt;br /&gt;
#* E.g. &amp;lt;code&amp;gt;./src/dashboard/src/manage.py makemigrations --empty --name pronom_89 fpr&amp;lt;/code&amp;gt;&lt;br /&gt;
# Generate the FPR migration body.  This also updates the local database's FPR with the new PRONOM IDs&lt;br /&gt;
#* E.g. &amp;lt;code&amp;gt;am import-pronom-ids fido/fido/conf/formats-v89.xml --output-filename archivematica/pronom89.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
# Copy the output into the blank migration, add RunPython operation&lt;br /&gt;
#* &amp;lt;code&amp;gt;migrations.RunPython(data_migration),&amp;lt;/code&amp;gt;&lt;br /&gt;
# Due to a [https://projects.artefactual.com/issues/10466#change-46673 bug], fix the imports&lt;br /&gt;
#* Remove the &amp;lt;code&amp;gt;apps.get_model&amp;lt;/code&amp;gt; lines&lt;br /&gt;
#* Import the models directly with &amp;lt;code&amp;gt;from fpr.models import Format, FormatVersion, IDRule&amp;lt;/code&amp;gt;&lt;br /&gt;
# Commit&lt;br /&gt;
# Deploy on testing pipeline&lt;br /&gt;
# (Analysts) Update the new entries&lt;br /&gt;
#* Move new formats to a more appropriate category&lt;br /&gt;
#* Create rules &amp;amp; commands&lt;br /&gt;
#* Test with data for new formats&lt;br /&gt;
# Generate a JSON with the updated version of the FPR on the testing pipeline&lt;br /&gt;
#* &amp;lt;code&amp;gt;./src/dashboard/src/manage.py dumpdata fpr &amp;gt; fpr-updated.json&amp;lt;/code&amp;gt;&lt;br /&gt;
# Get the updates as JSON&lt;br /&gt;
#* E.g. &amp;lt;code&amp;gt;am get-fpr-changes fpr-current.json fpr-updated.json src/dashboard/src/fpr/migrations/pronom_89.json&amp;lt;/code&amp;gt;&lt;br /&gt;
# Update the migration to load the JSON updates&lt;br /&gt;
#* Replace the contents of the data migration function with&lt;br /&gt;
#** &amp;lt;code&amp;gt;fixture_file = os.path.join(os.path.dirname(__file__), 'pronom_89.json')&amp;lt;/code&amp;gt;&lt;br /&gt;
#** &amp;lt;code&amp;gt;call_command('loaddata', fixture_file, app_label='fpr')&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Remove the direct imports from the bug&lt;br /&gt;
#* Improvement Note: Because this is using loaddata, this will have problems if the FPR models are changed. A possible solution is to update get-fpr-changes to generate a migration instead of JSON&lt;br /&gt;
# Commit&lt;br /&gt;
# Merge&lt;br /&gt;
&lt;br /&gt;
== Tag Release ==&lt;br /&gt;
&lt;br /&gt;
# Add release tags to repositories&lt;br /&gt;
#* Archivematica&lt;br /&gt;
#* Storage Service&lt;br /&gt;
#* FPR-admin&lt;br /&gt;
#* appraisal tab&lt;br /&gt;
#* transfer browser&lt;br /&gt;
#* Others?&lt;br /&gt;
# Create stable/#.x branch&lt;br /&gt;
# Delete qa/#.x branch&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Process documentation]]&lt;/div&gt;</summary>
		<author><name>Scollazo</name></author>
	</entry>
	<entry>
		<id>https://wiki.archivematica.org/index.php?title=Improvements/CentOS-RedHat_support/Installation&amp;diff=11468</id>
		<title>Improvements/CentOS-RedHat support/Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.archivematica.org/index.php?title=Improvements/CentOS-RedHat_support/Installation&amp;diff=11468"/>
		<updated>2016-09-06T11:08:25Z</updated>

		<summary type="html">&lt;p&gt;Scollazo: /* Known bugs / Caveats */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''IMPORTANT NOTE''' These instructions will create an installation of a QA version of Archivematica and is not recommended for production use yet.&lt;br /&gt;
&lt;br /&gt;
= Quick install using [https://www.vagrantup.com/ Vagrant] =&lt;br /&gt;
&lt;br /&gt;
This method will have you up and running in no time, using a virtual machine provisioned with vagrant.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;First, clone the am-packbuild repo:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;git clone https://github.com/artefactual-labs/am-packbuild/&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;cd into the rpm-testing directory&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;cd am-packbuild/rpm-testing/&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;run vagrant&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;vagrant up&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After the install, the Archivematica Dashboard will be avaliable on port 81 of the vagrant deployed box, and the Storage Service, in port 8001.&lt;br /&gt;
&lt;br /&gt;
You can log in the vm over ssh running &amp;lt;code&amp;gt;vagrant ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Step by step Install =&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
=== Extra repos ===&lt;br /&gt;
&lt;br /&gt;
Some repositories need to be installed in order to fullfill the installation procedure:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Extra packages for enterprise linux&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum install -y epel-release&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Elasticsearch&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch&lt;br /&gt;
sudo -u root bash -c 'cat &amp;amp;lt;&amp;amp;lt; EOF &amp;amp;gt; /etc/yum.repos.d/elasticsearch.repo&lt;br /&gt;
[elasticsearch-1.7]&lt;br /&gt;
name=Elasticsearch repository for 1.7 packages&lt;br /&gt;
baseurl=https://packages.elastic.co/elasticsearch/1.7/centos&lt;br /&gt;
gpgcheck=1&lt;br /&gt;
gpgkey=https://packages.elastic.co/GPG-KEY-elasticsearch&lt;br /&gt;
enabled=1&lt;br /&gt;
EOF'&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Archivematica&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root bash -c 'cat &amp;amp;lt;&amp;amp;lt; EOF &amp;amp;gt; /etc/yum.repos.d/archivematica.repo&lt;br /&gt;
[archivematica]&lt;br /&gt;
name=archivematica&lt;br /&gt;
baseurl=https://packages.archivematica.org/1.5.x/centos&lt;br /&gt;
gpgcheck=0&lt;br /&gt;
enabled=1&lt;br /&gt;
EOF'&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Service depencencies. ===&lt;br /&gt;
&lt;br /&gt;
Common services like elasticsearch, mariadb and gearmand should be installed and enabled before the archivematica install. It can be done with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root yum install -y java-1.8.0-openjdk-headless elasticsearch mariadb-server gearmand&lt;br /&gt;
sudo -u root systemctl enable elasticsearch&lt;br /&gt;
sudo -u root systemctl start elasticsearch&lt;br /&gt;
sudo -u root systemctl enable mariadb&lt;br /&gt;
sudo -u root systemctl start mariadb&lt;br /&gt;
sudo -u root systemctl enable gearmand&lt;br /&gt;
sudo -u root systemctl start gearmand&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Installing Archivematica Storage Service ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;First, we install the packages:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root yum install -y python-pip archivematica-storage-service&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;After the package is installed, we need to populate the sqlite database, and collect some static files used by django. Those tasks must be run as “archivematica” user.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u archivematica bash -c &amp;amp;quot; \&lt;br /&gt;
set -a -e -x&lt;br /&gt;
source /etc/sysconfig/archivematica-storage-service&lt;br /&gt;
cd /usr/share/archivematica/storage-service&lt;br /&gt;
/usr/lib/python2.7/archivematica/storage-service/bin/python manage.py migrate&lt;br /&gt;
/usr/lib/python2.7/archivematica/storage-service/bin/python manage.py collectstatic --noinput&lt;br /&gt;
&amp;amp;quot;;&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;And now, we enable and start the archivematica-storage-service and it’s nginx frontend&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root systemctl enable archivematica-storage-service&lt;br /&gt;
sudo -u root systemctl start archivematica-storage-service&lt;br /&gt;
sudo -u root systemctl enable nginx&lt;br /&gt;
sudo -u root systemctl start nginx&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The storage service will be avaliable at http://&amp;lt;ip&amp;gt;:8001&lt;br /&gt;
&lt;br /&gt;
== Installing Archivematica Dashboard and MCP Server ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;First, install the pacakges:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root yum install -y archivematica-common archivematica-mcp-server archivematica-dashboard&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Create user and mysql database with:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -H -u root mysql -hlocalhost -uroot -e &amp;amp;quot;DROP DATABASE IF EXISTS MCP; CREATE DATABASE MCP CHARACTER SET utf8 COLLATE utf8_unicode_ci;&amp;amp;quot;&lt;br /&gt;
sudo -H -u root mysql -hlocalhost -uroot -e &amp;amp;quot;CREATE USER 'archivematica'@'localhost' IDENTIFIED BY 'demo';&amp;amp;quot;&lt;br /&gt;
sudo -H -u root mysql -hlocalhost -uroot -e &amp;amp;quot;GRANT ALL ON MCP.* TO 'archivematica'@'localhost';&amp;amp;quot;&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;And as archivematica user, run migrations:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u archivematica bash -c &amp;amp;quot; \&lt;br /&gt;
set -a -e -x&lt;br /&gt;
source /etc/sysconfig/archivematica-dashboard&lt;br /&gt;
cd /usr/share/archivematica/dashboard&lt;br /&gt;
/usr/lib/python2.7/archivematica/dashboard/bin/python manage.py syncdb --noinput&lt;br /&gt;
&amp;amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Start and enable services:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root systemctl enable archivematica-mcp-server&lt;br /&gt;
sudo -u root systemctl start archivematica-mcp-server&lt;br /&gt;
sudo -u root systemctl enable archivematica-dashboard&lt;br /&gt;
sudo -u root systemctl start archivematica-dashboard&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Reload nginx in order to load the dashboard config file:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo -u root systemctl reload nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The dashboard will be avaliable at http://ip:81&lt;br /&gt;
&lt;br /&gt;
== Installing Archivematica MCP Client ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;First, we need to add some extra repos with the MCP Client dependencies:&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Archivematica supplied external packages:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root bash -c 'cat &amp;lt;&amp;lt; EOF &amp;gt; /etc/yum.repos.d/archivematica-extras.repo&lt;br /&gt;
[archivematica-extras]&lt;br /&gt;
name=archivematica-extras&lt;br /&gt;
baseurl=https://packages.archivematica.org/1.5.x/centos-extras&lt;br /&gt;
gpgcheck=0&lt;br /&gt;
enabled=1&lt;br /&gt;
EOF'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Nux multimedia repo&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo rpm -Uvh https://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Forensic tools repo&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo rpm -Uvh https://forensics.cert.org/cert-forensics-tools-release-el7.rpm&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Then, install the package:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root yum install -y archivematica-mcp-client&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;The MCP Client expect some programs in certain paths, so we put things in place:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo cp /usr/bin/clamscan /usr/bin/clamdscan&lt;br /&gt;
sudo ln -s /usr/bin/7za /usr/bin/7z&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;After that, we can enable and start services&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root systemctl enable archivematica-mcp-client&lt;br /&gt;
sudo -u root systemctl start archivematica-mcp-client&lt;br /&gt;
sudo -u root systemctl enable fits-nailgun&lt;br /&gt;
sudo -u root systemctl start fits-nailgun&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Finalizing Installation ==&lt;br /&gt;
&lt;br /&gt;
The dashboard will be available on port 81, and the storage service on port 8001.  You will need to complete the installation by opening up the dashboard in a web browser, and filling in the form you are presented with.  On the 2nd page of the installer, you are asked for information about the storage service.  You will need to log into the storage service and find the api key that was generated for your user (in admin-&amp;gt;users).&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
Each service have a configuration file in /etc/sysconfig/archivematica-''packagename''&lt;br /&gt;
&lt;br /&gt;
== Known bugs / Caveats ==&lt;br /&gt;
&lt;br /&gt;
* If IPv6 is disabled, Nginx may refuse to start. If that is the case make sure that the listen directives used under /etc/nginx are not using IPv6 addresses like [::]:80.&lt;br /&gt;
* In RHEL 7 , you might need to enable repo  rhel-7-server-eus-optional-rpms  with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 sudo subscription-manager repos --enable rhel-7-server-eus-optional-rpms&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* If you find a bug, please let us know [https://github.com/artefactual-labs/am-packbuild/issues here]&lt;/div&gt;</summary>
		<author><name>Scollazo</name></author>
	</entry>
	<entry>
		<id>https://wiki.archivematica.org/index.php?title=Improvements/CentOS-RedHat_support/Installation&amp;diff=11467</id>
		<title>Improvements/CentOS-RedHat support/Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.archivematica.org/index.php?title=Improvements/CentOS-RedHat_support/Installation&amp;diff=11467"/>
		<updated>2016-09-06T11:04:56Z</updated>

		<summary type="html">&lt;p&gt;Scollazo: /* Known bugs / Caveats */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''IMPORTANT NOTE''' These instructions will create an installation of a QA version of Archivematica and is not recommended for production use yet.&lt;br /&gt;
&lt;br /&gt;
= Quick install using [https://www.vagrantup.com/ Vagrant] =&lt;br /&gt;
&lt;br /&gt;
This method will have you up and running in no time, using a virtual machine provisioned with vagrant.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;First, clone the am-packbuild repo:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;git clone https://github.com/artefactual-labs/am-packbuild/&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;cd into the rpm-testing directory&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;cd am-packbuild/rpm-testing/&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;run vagrant&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;vagrant up&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After the install, the Archivematica Dashboard will be avaliable on port 81 of the vagrant deployed box, and the Storage Service, in port 8001.&lt;br /&gt;
&lt;br /&gt;
You can log in the vm over ssh running &amp;lt;code&amp;gt;vagrant ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Step by step Install =&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
=== Extra repos ===&lt;br /&gt;
&lt;br /&gt;
Some repositories need to be installed in order to fullfill the installation procedure:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Extra packages for enterprise linux&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum install -y epel-release&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Elasticsearch&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch&lt;br /&gt;
sudo -u root bash -c 'cat &amp;amp;lt;&amp;amp;lt; EOF &amp;amp;gt; /etc/yum.repos.d/elasticsearch.repo&lt;br /&gt;
[elasticsearch-1.7]&lt;br /&gt;
name=Elasticsearch repository for 1.7 packages&lt;br /&gt;
baseurl=https://packages.elastic.co/elasticsearch/1.7/centos&lt;br /&gt;
gpgcheck=1&lt;br /&gt;
gpgkey=https://packages.elastic.co/GPG-KEY-elasticsearch&lt;br /&gt;
enabled=1&lt;br /&gt;
EOF'&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Archivematica&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root bash -c 'cat &amp;amp;lt;&amp;amp;lt; EOF &amp;amp;gt; /etc/yum.repos.d/archivematica.repo&lt;br /&gt;
[archivematica]&lt;br /&gt;
name=archivematica&lt;br /&gt;
baseurl=https://packages.archivematica.org/1.5.x/centos&lt;br /&gt;
gpgcheck=0&lt;br /&gt;
enabled=1&lt;br /&gt;
EOF'&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Service depencencies. ===&lt;br /&gt;
&lt;br /&gt;
Common services like elasticsearch, mariadb and gearmand should be installed and enabled before the archivematica install. It can be done with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root yum install -y java-1.8.0-openjdk-headless elasticsearch mariadb-server gearmand&lt;br /&gt;
sudo -u root systemctl enable elasticsearch&lt;br /&gt;
sudo -u root systemctl start elasticsearch&lt;br /&gt;
sudo -u root systemctl enable mariadb&lt;br /&gt;
sudo -u root systemctl start mariadb&lt;br /&gt;
sudo -u root systemctl enable gearmand&lt;br /&gt;
sudo -u root systemctl start gearmand&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Installing Archivematica Storage Service ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;First, we install the packages:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root yum install -y python-pip archivematica-storage-service&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;After the package is installed, we need to populate the sqlite database, and collect some static files used by django. Those tasks must be run as “archivematica” user.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u archivematica bash -c &amp;amp;quot; \&lt;br /&gt;
set -a -e -x&lt;br /&gt;
source /etc/sysconfig/archivematica-storage-service&lt;br /&gt;
cd /usr/share/archivematica/storage-service&lt;br /&gt;
/usr/lib/python2.7/archivematica/storage-service/bin/python manage.py migrate&lt;br /&gt;
/usr/lib/python2.7/archivematica/storage-service/bin/python manage.py collectstatic --noinput&lt;br /&gt;
&amp;amp;quot;;&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;And now, we enable and start the archivematica-storage-service and it’s nginx frontend&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root systemctl enable archivematica-storage-service&lt;br /&gt;
sudo -u root systemctl start archivematica-storage-service&lt;br /&gt;
sudo -u root systemctl enable nginx&lt;br /&gt;
sudo -u root systemctl start nginx&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The storage service will be avaliable at http://&amp;lt;ip&amp;gt;:8001&lt;br /&gt;
&lt;br /&gt;
== Installing Archivematica Dashboard and MCP Server ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;First, install the pacakges:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root yum install -y archivematica-common archivematica-mcp-server archivematica-dashboard&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Create user and mysql database with:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -H -u root mysql -hlocalhost -uroot -e &amp;amp;quot;DROP DATABASE IF EXISTS MCP; CREATE DATABASE MCP CHARACTER SET utf8 COLLATE utf8_unicode_ci;&amp;amp;quot;&lt;br /&gt;
sudo -H -u root mysql -hlocalhost -uroot -e &amp;amp;quot;CREATE USER 'archivematica'@'localhost' IDENTIFIED BY 'demo';&amp;amp;quot;&lt;br /&gt;
sudo -H -u root mysql -hlocalhost -uroot -e &amp;amp;quot;GRANT ALL ON MCP.* TO 'archivematica'@'localhost';&amp;amp;quot;&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;And as archivematica user, run migrations:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u archivematica bash -c &amp;amp;quot; \&lt;br /&gt;
set -a -e -x&lt;br /&gt;
source /etc/sysconfig/archivematica-dashboard&lt;br /&gt;
cd /usr/share/archivematica/dashboard&lt;br /&gt;
/usr/lib/python2.7/archivematica/dashboard/bin/python manage.py syncdb --noinput&lt;br /&gt;
&amp;amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Start and enable services:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root systemctl enable archivematica-mcp-server&lt;br /&gt;
sudo -u root systemctl start archivematica-mcp-server&lt;br /&gt;
sudo -u root systemctl enable archivematica-dashboard&lt;br /&gt;
sudo -u root systemctl start archivematica-dashboard&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Reload nginx in order to load the dashboard config file:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo -u root systemctl reload nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The dashboard will be avaliable at http://ip:81&lt;br /&gt;
&lt;br /&gt;
== Installing Archivematica MCP Client ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;First, we need to add some extra repos with the MCP Client dependencies:&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Archivematica supplied external packages:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root bash -c 'cat &amp;lt;&amp;lt; EOF &amp;gt; /etc/yum.repos.d/archivematica-extras.repo&lt;br /&gt;
[archivematica-extras]&lt;br /&gt;
name=archivematica-extras&lt;br /&gt;
baseurl=https://packages.archivematica.org/1.5.x/centos-extras&lt;br /&gt;
gpgcheck=0&lt;br /&gt;
enabled=1&lt;br /&gt;
EOF'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Nux multimedia repo&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo rpm -Uvh https://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Forensic tools repo&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo rpm -Uvh https://forensics.cert.org/cert-forensics-tools-release-el7.rpm&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Then, install the package:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root yum install -y archivematica-mcp-client&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;The MCP Client expect some programs in certain paths, so we put things in place:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo cp /usr/bin/clamscan /usr/bin/clamdscan&lt;br /&gt;
sudo ln -s /usr/bin/7za /usr/bin/7z&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;After that, we can enable and start services&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root systemctl enable archivematica-mcp-client&lt;br /&gt;
sudo -u root systemctl start archivematica-mcp-client&lt;br /&gt;
sudo -u root systemctl enable fits-nailgun&lt;br /&gt;
sudo -u root systemctl start fits-nailgun&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Finalizing Installation ==&lt;br /&gt;
&lt;br /&gt;
The dashboard will be available on port 81, and the storage service on port 8001.  You will need to complete the installation by opening up the dashboard in a web browser, and filling in the form you are presented with.  On the 2nd page of the installer, you are asked for information about the storage service.  You will need to log into the storage service and find the api key that was generated for your user (in admin-&amp;gt;users).&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
Each service have a configuration file in /etc/sysconfig/archivematica-''packagename''&lt;br /&gt;
&lt;br /&gt;
== Known bugs / Caveats ==&lt;br /&gt;
&lt;br /&gt;
* If IPv6 is disabled, Nginx may refuse to start. If that is the case make sure that the listen directives used under /etc/nginx are not using IPv6 addresses like [::]:80.&lt;br /&gt;
* In RHEL 7 , you might need to enable repo  rhel-7-server-eus-optional-rpms  with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 subscription-manager repos --enable rhel-7-server-eus-optional-rpms&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* If you find a bug, please let us know [https://github.com/artefactual-labs/am-packbuild/issues here]&lt;/div&gt;</summary>
		<author><name>Scollazo</name></author>
	</entry>
	<entry>
		<id>https://wiki.archivematica.org/index.php?title=Improvements/CentOS-RedHat_support/Installation&amp;diff=11466</id>
		<title>Improvements/CentOS-RedHat support/Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.archivematica.org/index.php?title=Improvements/CentOS-RedHat_support/Installation&amp;diff=11466"/>
		<updated>2016-09-06T10:47:42Z</updated>

		<summary type="html">&lt;p&gt;Scollazo: /* Installing Archivematica Dashboard and MCP Server */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''IMPORTANT NOTE''' These instructions will create an installation of a QA version of Archivematica and is not recommended for production use yet.&lt;br /&gt;
&lt;br /&gt;
= Quick install using [https://www.vagrantup.com/ Vagrant] =&lt;br /&gt;
&lt;br /&gt;
This method will have you up and running in no time, using a virtual machine provisioned with vagrant.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;First, clone the am-packbuild repo:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;git clone https://github.com/artefactual-labs/am-packbuild/&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;cd into the rpm-testing directory&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;cd am-packbuild/rpm-testing/&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;run vagrant&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;vagrant up&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After the install, the Archivematica Dashboard will be avaliable on port 81 of the vagrant deployed box, and the Storage Service, in port 8001.&lt;br /&gt;
&lt;br /&gt;
You can log in the vm over ssh running &amp;lt;code&amp;gt;vagrant ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Step by step Install =&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
=== Extra repos ===&lt;br /&gt;
&lt;br /&gt;
Some repositories need to be installed in order to fullfill the installation procedure:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Extra packages for enterprise linux&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum install -y epel-release&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Elasticsearch&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch&lt;br /&gt;
sudo -u root bash -c 'cat &amp;amp;lt;&amp;amp;lt; EOF &amp;amp;gt; /etc/yum.repos.d/elasticsearch.repo&lt;br /&gt;
[elasticsearch-1.7]&lt;br /&gt;
name=Elasticsearch repository for 1.7 packages&lt;br /&gt;
baseurl=https://packages.elastic.co/elasticsearch/1.7/centos&lt;br /&gt;
gpgcheck=1&lt;br /&gt;
gpgkey=https://packages.elastic.co/GPG-KEY-elasticsearch&lt;br /&gt;
enabled=1&lt;br /&gt;
EOF'&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Archivematica&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root bash -c 'cat &amp;amp;lt;&amp;amp;lt; EOF &amp;amp;gt; /etc/yum.repos.d/archivematica.repo&lt;br /&gt;
[archivematica]&lt;br /&gt;
name=archivematica&lt;br /&gt;
baseurl=https://packages.archivematica.org/1.5.x/centos&lt;br /&gt;
gpgcheck=0&lt;br /&gt;
enabled=1&lt;br /&gt;
EOF'&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Service depencencies. ===&lt;br /&gt;
&lt;br /&gt;
Common services like elasticsearch, mariadb and gearmand should be installed and enabled before the archivematica install. It can be done with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root yum install -y java-1.8.0-openjdk-headless elasticsearch mariadb-server gearmand&lt;br /&gt;
sudo -u root systemctl enable elasticsearch&lt;br /&gt;
sudo -u root systemctl start elasticsearch&lt;br /&gt;
sudo -u root systemctl enable mariadb&lt;br /&gt;
sudo -u root systemctl start mariadb&lt;br /&gt;
sudo -u root systemctl enable gearmand&lt;br /&gt;
sudo -u root systemctl start gearmand&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Installing Archivematica Storage Service ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;First, we install the packages:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root yum install -y python-pip archivematica-storage-service&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;After the package is installed, we need to populate the sqlite database, and collect some static files used by django. Those tasks must be run as “archivematica” user.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u archivematica bash -c &amp;amp;quot; \&lt;br /&gt;
set -a -e -x&lt;br /&gt;
source /etc/sysconfig/archivematica-storage-service&lt;br /&gt;
cd /usr/share/archivematica/storage-service&lt;br /&gt;
/usr/lib/python2.7/archivematica/storage-service/bin/python manage.py migrate&lt;br /&gt;
/usr/lib/python2.7/archivematica/storage-service/bin/python manage.py collectstatic --noinput&lt;br /&gt;
&amp;amp;quot;;&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;And now, we enable and start the archivematica-storage-service and it’s nginx frontend&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root systemctl enable archivematica-storage-service&lt;br /&gt;
sudo -u root systemctl start archivematica-storage-service&lt;br /&gt;
sudo -u root systemctl enable nginx&lt;br /&gt;
sudo -u root systemctl start nginx&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The storage service will be avaliable at http://&amp;lt;ip&amp;gt;:8001&lt;br /&gt;
&lt;br /&gt;
== Installing Archivematica Dashboard and MCP Server ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;First, install the pacakges:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root yum install -y archivematica-common archivematica-mcp-server archivematica-dashboard&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Create user and mysql database with:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -H -u root mysql -hlocalhost -uroot -e &amp;amp;quot;DROP DATABASE IF EXISTS MCP; CREATE DATABASE MCP CHARACTER SET utf8 COLLATE utf8_unicode_ci;&amp;amp;quot;&lt;br /&gt;
sudo -H -u root mysql -hlocalhost -uroot -e &amp;amp;quot;CREATE USER 'archivematica'@'localhost' IDENTIFIED BY 'demo';&amp;amp;quot;&lt;br /&gt;
sudo -H -u root mysql -hlocalhost -uroot -e &amp;amp;quot;GRANT ALL ON MCP.* TO 'archivematica'@'localhost';&amp;amp;quot;&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;And as archivematica user, run migrations:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u archivematica bash -c &amp;amp;quot; \&lt;br /&gt;
set -a -e -x&lt;br /&gt;
source /etc/sysconfig/archivematica-dashboard&lt;br /&gt;
cd /usr/share/archivematica/dashboard&lt;br /&gt;
/usr/lib/python2.7/archivematica/dashboard/bin/python manage.py syncdb --noinput&lt;br /&gt;
&amp;amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Start and enable services:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root systemctl enable archivematica-mcp-server&lt;br /&gt;
sudo -u root systemctl start archivematica-mcp-server&lt;br /&gt;
sudo -u root systemctl enable archivematica-dashboard&lt;br /&gt;
sudo -u root systemctl start archivematica-dashboard&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Reload nginx in order to load the dashboard config file:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo -u root systemctl reload nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The dashboard will be avaliable at http://ip:81&lt;br /&gt;
&lt;br /&gt;
== Installing Archivematica MCP Client ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;First, we need to add some extra repos with the MCP Client dependencies:&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Archivematica supplied external packages:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root bash -c 'cat &amp;lt;&amp;lt; EOF &amp;gt; /etc/yum.repos.d/archivematica-extras.repo&lt;br /&gt;
[archivematica-extras]&lt;br /&gt;
name=archivematica-extras&lt;br /&gt;
baseurl=https://packages.archivematica.org/1.5.x/centos-extras&lt;br /&gt;
gpgcheck=0&lt;br /&gt;
enabled=1&lt;br /&gt;
EOF'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Nux multimedia repo&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo rpm -Uvh https://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Forensic tools repo&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo rpm -Uvh https://forensics.cert.org/cert-forensics-tools-release-el7.rpm&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Then, install the package:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root yum install -y archivematica-mcp-client&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;The MCP Client expect some programs in certain paths, so we put things in place:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo cp /usr/bin/clamscan /usr/bin/clamdscan&lt;br /&gt;
sudo ln -s /usr/bin/7za /usr/bin/7z&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;After that, we can enable and start services&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root systemctl enable archivematica-mcp-client&lt;br /&gt;
sudo -u root systemctl start archivematica-mcp-client&lt;br /&gt;
sudo -u root systemctl enable fits-nailgun&lt;br /&gt;
sudo -u root systemctl start fits-nailgun&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Finalizing Installation ==&lt;br /&gt;
&lt;br /&gt;
The dashboard will be available on port 81, and the storage service on port 8001.  You will need to complete the installation by opening up the dashboard in a web browser, and filling in the form you are presented with.  On the 2nd page of the installer, you are asked for information about the storage service.  You will need to log into the storage service and find the api key that was generated for your user (in admin-&amp;gt;users).&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
Each service have a configuration file in /etc/sysconfig/archivematica-''packagename''&lt;br /&gt;
&lt;br /&gt;
== Known bugs / Caveats ==&lt;br /&gt;
&lt;br /&gt;
* If IPv6 is disabled, Nginx may refuse to start. If that is the case make sure that the listen directives used under /etc/nginx are not using IPv6 addresses like [::]:80.&lt;br /&gt;
* If you find a bug, please let us know [https://github.com/artefactual-labs/am-packbuild/issues here]&lt;/div&gt;</summary>
		<author><name>Scollazo</name></author>
	</entry>
	<entry>
		<id>https://wiki.archivematica.org/index.php?title=Improvements/CentOS-RedHat_support/Installation&amp;diff=11465</id>
		<title>Improvements/CentOS-RedHat support/Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.archivematica.org/index.php?title=Improvements/CentOS-RedHat_support/Installation&amp;diff=11465"/>
		<updated>2016-09-06T10:47:01Z</updated>

		<summary type="html">&lt;p&gt;Scollazo: /* Installing Archivematica Dashboard and MCP Server */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''IMPORTANT NOTE''' These instructions will create an installation of a QA version of Archivematica and is not recommended for production use yet.&lt;br /&gt;
&lt;br /&gt;
= Quick install using [https://www.vagrantup.com/ Vagrant] =&lt;br /&gt;
&lt;br /&gt;
This method will have you up and running in no time, using a virtual machine provisioned with vagrant.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;First, clone the am-packbuild repo:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;git clone https://github.com/artefactual-labs/am-packbuild/&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;cd into the rpm-testing directory&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;cd am-packbuild/rpm-testing/&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;run vagrant&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;vagrant up&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After the install, the Archivematica Dashboard will be avaliable on port 81 of the vagrant deployed box, and the Storage Service, in port 8001.&lt;br /&gt;
&lt;br /&gt;
You can log in the vm over ssh running &amp;lt;code&amp;gt;vagrant ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Step by step Install =&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
=== Extra repos ===&lt;br /&gt;
&lt;br /&gt;
Some repositories need to be installed in order to fullfill the installation procedure:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Extra packages for enterprise linux&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum install -y epel-release&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Elasticsearch&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch&lt;br /&gt;
sudo -u root bash -c 'cat &amp;amp;lt;&amp;amp;lt; EOF &amp;amp;gt; /etc/yum.repos.d/elasticsearch.repo&lt;br /&gt;
[elasticsearch-1.7]&lt;br /&gt;
name=Elasticsearch repository for 1.7 packages&lt;br /&gt;
baseurl=https://packages.elastic.co/elasticsearch/1.7/centos&lt;br /&gt;
gpgcheck=1&lt;br /&gt;
gpgkey=https://packages.elastic.co/GPG-KEY-elasticsearch&lt;br /&gt;
enabled=1&lt;br /&gt;
EOF'&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Archivematica&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root bash -c 'cat &amp;amp;lt;&amp;amp;lt; EOF &amp;amp;gt; /etc/yum.repos.d/archivematica.repo&lt;br /&gt;
[archivematica]&lt;br /&gt;
name=archivematica&lt;br /&gt;
baseurl=https://packages.archivematica.org/1.5.x/centos&lt;br /&gt;
gpgcheck=0&lt;br /&gt;
enabled=1&lt;br /&gt;
EOF'&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Service depencencies. ===&lt;br /&gt;
&lt;br /&gt;
Common services like elasticsearch, mariadb and gearmand should be installed and enabled before the archivematica install. It can be done with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root yum install -y java-1.8.0-openjdk-headless elasticsearch mariadb-server gearmand&lt;br /&gt;
sudo -u root systemctl enable elasticsearch&lt;br /&gt;
sudo -u root systemctl start elasticsearch&lt;br /&gt;
sudo -u root systemctl enable mariadb&lt;br /&gt;
sudo -u root systemctl start mariadb&lt;br /&gt;
sudo -u root systemctl enable gearmand&lt;br /&gt;
sudo -u root systemctl start gearmand&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Installing Archivematica Storage Service ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;First, we install the packages:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root yum install -y python-pip archivematica-storage-service&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;After the package is installed, we need to populate the sqlite database, and collect some static files used by django. Those tasks must be run as “archivematica” user.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u archivematica bash -c &amp;amp;quot; \&lt;br /&gt;
set -a -e -x&lt;br /&gt;
source /etc/sysconfig/archivematica-storage-service&lt;br /&gt;
cd /usr/share/archivematica/storage-service&lt;br /&gt;
/usr/lib/python2.7/archivematica/storage-service/bin/python manage.py migrate&lt;br /&gt;
/usr/lib/python2.7/archivematica/storage-service/bin/python manage.py collectstatic --noinput&lt;br /&gt;
&amp;amp;quot;;&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;And now, we enable and start the archivematica-storage-service and it’s nginx frontend&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root systemctl enable archivematica-storage-service&lt;br /&gt;
sudo -u root systemctl start archivematica-storage-service&lt;br /&gt;
sudo -u root systemctl enable nginx&lt;br /&gt;
sudo -u root systemctl start nginx&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The storage service will be avaliable at http://&amp;lt;ip&amp;gt;:8001&lt;br /&gt;
&lt;br /&gt;
== Installing Archivematica Dashboard and MCP Server ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;First, install the pacakges:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root yum install -y archivematica-common archivematica-mcp-server archivematica-dashboard&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Create user and mysql database with:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -H -u root mysql -hlocalhost -uroot -e &amp;amp;quot;DROP DATABASE IF EXISTS MCP; CREATE DATABASE MCP CHARACTER SET utf8 COLLATE utf8_unicode_ci;&amp;amp;quot;&lt;br /&gt;
sudo -H -u root mysql -hlocalhost -uroot -e &amp;amp;quot;CREATE USER 'archivematica'@'localhost' IDENTIFIED BY 'demo';&amp;amp;quot;&lt;br /&gt;
sudo -H -u root mysql -hlocalhost -uroot -e &amp;amp;quot;GRANT ALL ON MCP.* TO 'archivematica'@'localhost';&amp;amp;quot;&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;And as archivematica user, run migrations:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u archivematica bash -c &amp;amp;quot; \&lt;br /&gt;
set -a -e -x&lt;br /&gt;
source /etc/sysconfig/archivematica-dashboard&lt;br /&gt;
cd /usr/share/archivematica/dashboard&lt;br /&gt;
/usr/lib/python2.7/archivematica/dashboard/bin/python manage.py syncdb --noinput&lt;br /&gt;
&amp;amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Start and enable services:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root systemctl enable archivematica-mcp-server&lt;br /&gt;
sudo -u root systemctl start archivematica-mcp-server&lt;br /&gt;
sudo -u root systemctl enable archivematica-dashboard&lt;br /&gt;
sudo -u root systemctl start archivematica-dashboard&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Reload nginx in order to load the dashboard config file:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo -u root systemctl reload nginx&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The dashboard will be avaliable at http://ip:81&lt;br /&gt;
&lt;br /&gt;
== Installing Archivematica MCP Client ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;First, we need to add some extra repos with the MCP Client dependencies:&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Archivematica supplied external packages:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root bash -c 'cat &amp;lt;&amp;lt; EOF &amp;gt; /etc/yum.repos.d/archivematica-extras.repo&lt;br /&gt;
[archivematica-extras]&lt;br /&gt;
name=archivematica-extras&lt;br /&gt;
baseurl=https://packages.archivematica.org/1.5.x/centos-extras&lt;br /&gt;
gpgcheck=0&lt;br /&gt;
enabled=1&lt;br /&gt;
EOF'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Nux multimedia repo&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo rpm -Uvh https://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Forensic tools repo&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo rpm -Uvh https://forensics.cert.org/cert-forensics-tools-release-el7.rpm&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Then, install the package:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root yum install -y archivematica-mcp-client&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;The MCP Client expect some programs in certain paths, so we put things in place:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo cp /usr/bin/clamscan /usr/bin/clamdscan&lt;br /&gt;
sudo ln -s /usr/bin/7za /usr/bin/7z&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;After that, we can enable and start services&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root systemctl enable archivematica-mcp-client&lt;br /&gt;
sudo -u root systemctl start archivematica-mcp-client&lt;br /&gt;
sudo -u root systemctl enable fits-nailgun&lt;br /&gt;
sudo -u root systemctl start fits-nailgun&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Finalizing Installation ==&lt;br /&gt;
&lt;br /&gt;
The dashboard will be available on port 81, and the storage service on port 8001.  You will need to complete the installation by opening up the dashboard in a web browser, and filling in the form you are presented with.  On the 2nd page of the installer, you are asked for information about the storage service.  You will need to log into the storage service and find the api key that was generated for your user (in admin-&amp;gt;users).&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
Each service have a configuration file in /etc/sysconfig/archivematica-''packagename''&lt;br /&gt;
&lt;br /&gt;
== Known bugs / Caveats ==&lt;br /&gt;
&lt;br /&gt;
* If IPv6 is disabled, Nginx may refuse to start. If that is the case make sure that the listen directives used under /etc/nginx are not using IPv6 addresses like [::]:80.&lt;br /&gt;
* If you find a bug, please let us know [https://github.com/artefactual-labs/am-packbuild/issues here]&lt;/div&gt;</summary>
		<author><name>Scollazo</name></author>
	</entry>
	<entry>
		<id>https://wiki.archivematica.org/index.php?title=Improvements/CentOS-RedHat_support/Installation&amp;diff=11464</id>
		<title>Improvements/CentOS-RedHat support/Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.archivematica.org/index.php?title=Improvements/CentOS-RedHat_support/Installation&amp;diff=11464"/>
		<updated>2016-09-06T10:46:10Z</updated>

		<summary type="html">&lt;p&gt;Scollazo: /* Installing Archivematica Dashboard and MCP Server */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''IMPORTANT NOTE''' These instructions will create an installation of a QA version of Archivematica and is not recommended for production use yet.&lt;br /&gt;
&lt;br /&gt;
= Quick install using [https://www.vagrantup.com/ Vagrant] =&lt;br /&gt;
&lt;br /&gt;
This method will have you up and running in no time, using a virtual machine provisioned with vagrant.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;First, clone the am-packbuild repo:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;git clone https://github.com/artefactual-labs/am-packbuild/&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;cd into the rpm-testing directory&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;cd am-packbuild/rpm-testing/&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;run vagrant&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;vagrant up&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After the install, the Archivematica Dashboard will be avaliable on port 81 of the vagrant deployed box, and the Storage Service, in port 8001.&lt;br /&gt;
&lt;br /&gt;
You can log in the vm over ssh running &amp;lt;code&amp;gt;vagrant ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Step by step Install =&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
=== Extra repos ===&lt;br /&gt;
&lt;br /&gt;
Some repositories need to be installed in order to fullfill the installation procedure:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Extra packages for enterprise linux&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum install -y epel-release&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Elasticsearch&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch&lt;br /&gt;
sudo -u root bash -c 'cat &amp;amp;lt;&amp;amp;lt; EOF &amp;amp;gt; /etc/yum.repos.d/elasticsearch.repo&lt;br /&gt;
[elasticsearch-1.7]&lt;br /&gt;
name=Elasticsearch repository for 1.7 packages&lt;br /&gt;
baseurl=https://packages.elastic.co/elasticsearch/1.7/centos&lt;br /&gt;
gpgcheck=1&lt;br /&gt;
gpgkey=https://packages.elastic.co/GPG-KEY-elasticsearch&lt;br /&gt;
enabled=1&lt;br /&gt;
EOF'&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Archivematica&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root bash -c 'cat &amp;amp;lt;&amp;amp;lt; EOF &amp;amp;gt; /etc/yum.repos.d/archivematica.repo&lt;br /&gt;
[archivematica]&lt;br /&gt;
name=archivematica&lt;br /&gt;
baseurl=https://packages.archivematica.org/1.5.x/centos&lt;br /&gt;
gpgcheck=0&lt;br /&gt;
enabled=1&lt;br /&gt;
EOF'&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Service depencencies. ===&lt;br /&gt;
&lt;br /&gt;
Common services like elasticsearch, mariadb and gearmand should be installed and enabled before the archivematica install. It can be done with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root yum install -y java-1.8.0-openjdk-headless elasticsearch mariadb-server gearmand&lt;br /&gt;
sudo -u root systemctl enable elasticsearch&lt;br /&gt;
sudo -u root systemctl start elasticsearch&lt;br /&gt;
sudo -u root systemctl enable mariadb&lt;br /&gt;
sudo -u root systemctl start mariadb&lt;br /&gt;
sudo -u root systemctl enable gearmand&lt;br /&gt;
sudo -u root systemctl start gearmand&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Installing Archivematica Storage Service ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;First, we install the packages:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root yum install -y python-pip archivematica-storage-service&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;After the package is installed, we need to populate the sqlite database, and collect some static files used by django. Those tasks must be run as “archivematica” user.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u archivematica bash -c &amp;amp;quot; \&lt;br /&gt;
set -a -e -x&lt;br /&gt;
source /etc/sysconfig/archivematica-storage-service&lt;br /&gt;
cd /usr/share/archivematica/storage-service&lt;br /&gt;
/usr/lib/python2.7/archivematica/storage-service/bin/python manage.py migrate&lt;br /&gt;
/usr/lib/python2.7/archivematica/storage-service/bin/python manage.py collectstatic --noinput&lt;br /&gt;
&amp;amp;quot;;&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;And now, we enable and start the archivematica-storage-service and it’s nginx frontend&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root systemctl enable archivematica-storage-service&lt;br /&gt;
sudo -u root systemctl start archivematica-storage-service&lt;br /&gt;
sudo -u root systemctl enable nginx&lt;br /&gt;
sudo -u root systemctl start nginx&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The storage service will be avaliable at http://&amp;lt;ip&amp;gt;:8001&lt;br /&gt;
&lt;br /&gt;
== Installing Archivematica Dashboard and MCP Server ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;First, install the pacakges:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root yum install -y archivematica-common archivematica-mcp-server archivematica-dashboard&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Create and populate the mysql database with:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -H -u root mysql -hlocalhost -uroot -e &amp;amp;quot;DROP DATABASE IF EXISTS MCP; CREATE DATABASE MCP CHARACTER SET utf8 COLLATE utf8_unicode_ci;&amp;amp;quot;&lt;br /&gt;
sudo -H -u root mysql -hlocalhost -uroot -e &amp;amp;quot;CREATE USER 'archivematica'@'localhost' IDENTIFIED BY 'demo';&amp;amp;quot;&lt;br /&gt;
sudo -H -u root mysql -hlocalhost -uroot -e &amp;amp;quot;GRANT ALL ON MCP.* TO 'archivematica'@'localhost';&amp;amp;quot;&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;And as archivematica user, run migrations:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u archivematica bash -c &amp;amp;quot; \&lt;br /&gt;
set -a -e -x&lt;br /&gt;
source /etc/sysconfig/archivematica-dashboard&lt;br /&gt;
cd /usr/share/archivematica/dashboard&lt;br /&gt;
/usr/lib/python2.7/archivematica/dashboard/bin/python manage.py syncdb --noinput&lt;br /&gt;
&amp;amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Start and enable services:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root systemctl enable archivematica-mcp-server&lt;br /&gt;
sudo -u root systemctl start archivematica-mcp-server&lt;br /&gt;
sudo -u root systemctl enable archivematica-dashboard&lt;br /&gt;
sudo -u root systemctl start archivematica-dashboard&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Reload nginx in order to load the dashboard config file:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo -u root systemctl reload nginx&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The dashboard will be avaliable at http://ip:81&lt;br /&gt;
&lt;br /&gt;
== Installing Archivematica MCP Client ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;First, we need to add some extra repos with the MCP Client dependencies:&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Archivematica supplied external packages:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root bash -c 'cat &amp;lt;&amp;lt; EOF &amp;gt; /etc/yum.repos.d/archivematica-extras.repo&lt;br /&gt;
[archivematica-extras]&lt;br /&gt;
name=archivematica-extras&lt;br /&gt;
baseurl=https://packages.archivematica.org/1.5.x/centos-extras&lt;br /&gt;
gpgcheck=0&lt;br /&gt;
enabled=1&lt;br /&gt;
EOF'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Nux multimedia repo&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo rpm -Uvh https://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Forensic tools repo&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo rpm -Uvh https://forensics.cert.org/cert-forensics-tools-release-el7.rpm&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Then, install the package:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root yum install -y archivematica-mcp-client&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;The MCP Client expect some programs in certain paths, so we put things in place:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo cp /usr/bin/clamscan /usr/bin/clamdscan&lt;br /&gt;
sudo ln -s /usr/bin/7za /usr/bin/7z&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;After that, we can enable and start services&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root systemctl enable archivematica-mcp-client&lt;br /&gt;
sudo -u root systemctl start archivematica-mcp-client&lt;br /&gt;
sudo -u root systemctl enable fits-nailgun&lt;br /&gt;
sudo -u root systemctl start fits-nailgun&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Finalizing Installation ==&lt;br /&gt;
&lt;br /&gt;
The dashboard will be available on port 81, and the storage service on port 8001.  You will need to complete the installation by opening up the dashboard in a web browser, and filling in the form you are presented with.  On the 2nd page of the installer, you are asked for information about the storage service.  You will need to log into the storage service and find the api key that was generated for your user (in admin-&amp;gt;users).&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
Each service have a configuration file in /etc/sysconfig/archivematica-''packagename''&lt;br /&gt;
&lt;br /&gt;
== Known bugs / Caveats ==&lt;br /&gt;
&lt;br /&gt;
* If IPv6 is disabled, Nginx may refuse to start. If that is the case make sure that the listen directives used under /etc/nginx are not using IPv6 addresses like [::]:80.&lt;br /&gt;
* If you find a bug, please let us know [https://github.com/artefactual-labs/am-packbuild/issues here]&lt;/div&gt;</summary>
		<author><name>Scollazo</name></author>
	</entry>
	<entry>
		<id>https://wiki.archivematica.org/index.php?title=Improvements/CentOS-RedHat_support/Installation&amp;diff=11463</id>
		<title>Improvements/CentOS-RedHat support/Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.archivematica.org/index.php?title=Improvements/CentOS-RedHat_support/Installation&amp;diff=11463"/>
		<updated>2016-09-06T10:45:39Z</updated>

		<summary type="html">&lt;p&gt;Scollazo: /* Installing Archivematica MCP Client */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''IMPORTANT NOTE''' These instructions will create an installation of a QA version of Archivematica and is not recommended for production use yet.&lt;br /&gt;
&lt;br /&gt;
= Quick install using [https://www.vagrantup.com/ Vagrant] =&lt;br /&gt;
&lt;br /&gt;
This method will have you up and running in no time, using a virtual machine provisioned with vagrant.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;First, clone the am-packbuild repo:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;git clone https://github.com/artefactual-labs/am-packbuild/&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;cd into the rpm-testing directory&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;cd am-packbuild/rpm-testing/&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;run vagrant&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;vagrant up&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After the install, the Archivematica Dashboard will be avaliable on port 81 of the vagrant deployed box, and the Storage Service, in port 8001.&lt;br /&gt;
&lt;br /&gt;
You can log in the vm over ssh running &amp;lt;code&amp;gt;vagrant ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Step by step Install =&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
=== Extra repos ===&lt;br /&gt;
&lt;br /&gt;
Some repositories need to be installed in order to fullfill the installation procedure:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Extra packages for enterprise linux&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum install -y epel-release&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Elasticsearch&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch&lt;br /&gt;
sudo -u root bash -c 'cat &amp;amp;lt;&amp;amp;lt; EOF &amp;amp;gt; /etc/yum.repos.d/elasticsearch.repo&lt;br /&gt;
[elasticsearch-1.7]&lt;br /&gt;
name=Elasticsearch repository for 1.7 packages&lt;br /&gt;
baseurl=https://packages.elastic.co/elasticsearch/1.7/centos&lt;br /&gt;
gpgcheck=1&lt;br /&gt;
gpgkey=https://packages.elastic.co/GPG-KEY-elasticsearch&lt;br /&gt;
enabled=1&lt;br /&gt;
EOF'&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Archivematica&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root bash -c 'cat &amp;amp;lt;&amp;amp;lt; EOF &amp;amp;gt; /etc/yum.repos.d/archivematica.repo&lt;br /&gt;
[archivematica]&lt;br /&gt;
name=archivematica&lt;br /&gt;
baseurl=https://packages.archivematica.org/1.5.x/centos&lt;br /&gt;
gpgcheck=0&lt;br /&gt;
enabled=1&lt;br /&gt;
EOF'&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Service depencencies. ===&lt;br /&gt;
&lt;br /&gt;
Common services like elasticsearch, mariadb and gearmand should be installed and enabled before the archivematica install. It can be done with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root yum install -y java-1.8.0-openjdk-headless elasticsearch mariadb-server gearmand&lt;br /&gt;
sudo -u root systemctl enable elasticsearch&lt;br /&gt;
sudo -u root systemctl start elasticsearch&lt;br /&gt;
sudo -u root systemctl enable mariadb&lt;br /&gt;
sudo -u root systemctl start mariadb&lt;br /&gt;
sudo -u root systemctl enable gearmand&lt;br /&gt;
sudo -u root systemctl start gearmand&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Installing Archivematica Storage Service ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;First, we install the packages:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root yum install -y python-pip archivematica-storage-service&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;After the package is installed, we need to populate the sqlite database, and collect some static files used by django. Those tasks must be run as “archivematica” user.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u archivematica bash -c &amp;amp;quot; \&lt;br /&gt;
set -a -e -x&lt;br /&gt;
source /etc/sysconfig/archivematica-storage-service&lt;br /&gt;
cd /usr/share/archivematica/storage-service&lt;br /&gt;
/usr/lib/python2.7/archivematica/storage-service/bin/python manage.py migrate&lt;br /&gt;
/usr/lib/python2.7/archivematica/storage-service/bin/python manage.py collectstatic --noinput&lt;br /&gt;
&amp;amp;quot;;&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;And now, we enable and start the archivematica-storage-service and it’s nginx frontend&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root systemctl enable archivematica-storage-service&lt;br /&gt;
sudo -u root systemctl start archivematica-storage-service&lt;br /&gt;
sudo -u root systemctl enable nginx&lt;br /&gt;
sudo -u root systemctl start nginx&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The storage service will be avaliable at http://&amp;lt;ip&amp;gt;:8001&lt;br /&gt;
&lt;br /&gt;
== Installing Archivematica Dashboard and MCP Server ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;First, install the pacakges:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root yum install -y archivematica-common archivematica-mcp-server archivematica-dashboard&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Create and populate the mysql database with:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -H -u root mysql -hlocalhost -uroot -e &amp;amp;quot;DROP DATABASE IF EXISTS MCP; CREATE DATABASE MCP CHARACTER SET utf8 COLLATE utf8_unicode_ci;&amp;amp;quot;&lt;br /&gt;
sudo -H -u root mysql -hlocalhost -uroot -e &amp;amp;quot;CREATE USER 'archivematica'@'localhost' IDENTIFIED BY 'demo';&amp;amp;quot;&lt;br /&gt;
sudo -H -u root mysql -hlocalhost -uroot -e &amp;amp;quot;GRANT ALL ON MCP.* TO 'archivematica'@'localhost';&amp;amp;quot;&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;And as archivematica user, run migrations:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u archivematica bash -c &amp;amp;quot; \&lt;br /&gt;
set -a -e -x&lt;br /&gt;
source /etc/sysconfig/archivematica-dashboard&lt;br /&gt;
cd /usr/share/archivematica/dashboard&lt;br /&gt;
/usr/lib/python2.7/archivematica/dashboard/bin/python manage.py syncdb --noinput&lt;br /&gt;
&amp;amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Start and enable services:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root systemctl enable archivematica-mcp-server&lt;br /&gt;
sudo -u root systemctl start archivematica-mcp-server&lt;br /&gt;
sudo -u root systemctl enable archivematica-dashboard&lt;br /&gt;
sudo -u root systemctl start archivematica-dashboard&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Reload nginx in order to load the dashboard config file:&amp;lt;br /&amp;gt;&lt;br /&gt;
sudo -u root systemctl reload nginx&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The dashboard will be avaliable at http://ip:81&lt;br /&gt;
&lt;br /&gt;
== Installing Archivematica MCP Client ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;First, we need to add some extra repos with the MCP Client dependencies:&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Archivematica supplied external packages:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root bash -c 'cat &amp;lt;&amp;lt; EOF &amp;gt; /etc/yum.repos.d/archivematica-extras.repo&lt;br /&gt;
[archivematica-extras]&lt;br /&gt;
name=archivematica-extras&lt;br /&gt;
baseurl=https://packages.archivematica.org/1.5.x/centos-extras&lt;br /&gt;
gpgcheck=0&lt;br /&gt;
enabled=1&lt;br /&gt;
EOF'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Nux multimedia repo&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo rpm -Uvh https://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Forensic tools repo&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo rpm -Uvh https://forensics.cert.org/cert-forensics-tools-release-el7.rpm&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Then, install the package:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root yum install -y archivematica-mcp-client&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;The MCP Client expect some programs in certain paths, so we put things in place:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo cp /usr/bin/clamscan /usr/bin/clamdscan&lt;br /&gt;
sudo ln -s /usr/bin/7za /usr/bin/7z&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;After that, we can enable and start services&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root systemctl enable archivematica-mcp-client&lt;br /&gt;
sudo -u root systemctl start archivematica-mcp-client&lt;br /&gt;
sudo -u root systemctl enable fits-nailgun&lt;br /&gt;
sudo -u root systemctl start fits-nailgun&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Finalizing Installation ==&lt;br /&gt;
&lt;br /&gt;
The dashboard will be available on port 81, and the storage service on port 8001.  You will need to complete the installation by opening up the dashboard in a web browser, and filling in the form you are presented with.  On the 2nd page of the installer, you are asked for information about the storage service.  You will need to log into the storage service and find the api key that was generated for your user (in admin-&amp;gt;users).&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
Each service have a configuration file in /etc/sysconfig/archivematica-''packagename''&lt;br /&gt;
&lt;br /&gt;
== Known bugs / Caveats ==&lt;br /&gt;
&lt;br /&gt;
* If IPv6 is disabled, Nginx may refuse to start. If that is the case make sure that the listen directives used under /etc/nginx are not using IPv6 addresses like [::]:80.&lt;br /&gt;
* If you find a bug, please let us know [https://github.com/artefactual-labs/am-packbuild/issues here]&lt;/div&gt;</summary>
		<author><name>Scollazo</name></author>
	</entry>
	<entry>
		<id>https://wiki.archivematica.org/index.php?title=Improvements/CentOS-RedHat_support/Installation&amp;diff=11462</id>
		<title>Improvements/CentOS-RedHat support/Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.archivematica.org/index.php?title=Improvements/CentOS-RedHat_support/Installation&amp;diff=11462"/>
		<updated>2016-09-06T10:44:09Z</updated>

		<summary type="html">&lt;p&gt;Scollazo: /* Extra repos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''IMPORTANT NOTE''' These instructions will create an installation of a QA version of Archivematica and is not recommended for production use yet.&lt;br /&gt;
&lt;br /&gt;
= Quick install using [https://www.vagrantup.com/ Vagrant] =&lt;br /&gt;
&lt;br /&gt;
This method will have you up and running in no time, using a virtual machine provisioned with vagrant.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;First, clone the am-packbuild repo:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;git clone https://github.com/artefactual-labs/am-packbuild/&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;cd into the rpm-testing directory&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;cd am-packbuild/rpm-testing/&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;run vagrant&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;vagrant up&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After the install, the Archivematica Dashboard will be avaliable on port 81 of the vagrant deployed box, and the Storage Service, in port 8001.&lt;br /&gt;
&lt;br /&gt;
You can log in the vm over ssh running &amp;lt;code&amp;gt;vagrant ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Step by step Install =&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
=== Extra repos ===&lt;br /&gt;
&lt;br /&gt;
Some repositories need to be installed in order to fullfill the installation procedure:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Extra packages for enterprise linux&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo yum install -y epel-release&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Elasticsearch&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch&lt;br /&gt;
sudo -u root bash -c 'cat &amp;amp;lt;&amp;amp;lt; EOF &amp;amp;gt; /etc/yum.repos.d/elasticsearch.repo&lt;br /&gt;
[elasticsearch-1.7]&lt;br /&gt;
name=Elasticsearch repository for 1.7 packages&lt;br /&gt;
baseurl=https://packages.elastic.co/elasticsearch/1.7/centos&lt;br /&gt;
gpgcheck=1&lt;br /&gt;
gpgkey=https://packages.elastic.co/GPG-KEY-elasticsearch&lt;br /&gt;
enabled=1&lt;br /&gt;
EOF'&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Archivematica&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root bash -c 'cat &amp;amp;lt;&amp;amp;lt; EOF &amp;amp;gt; /etc/yum.repos.d/archivematica.repo&lt;br /&gt;
[archivematica]&lt;br /&gt;
name=archivematica&lt;br /&gt;
baseurl=https://packages.archivematica.org/1.5.x/centos&lt;br /&gt;
gpgcheck=0&lt;br /&gt;
enabled=1&lt;br /&gt;
EOF'&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Service depencencies. ===&lt;br /&gt;
&lt;br /&gt;
Common services like elasticsearch, mariadb and gearmand should be installed and enabled before the archivematica install. It can be done with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root yum install -y java-1.8.0-openjdk-headless elasticsearch mariadb-server gearmand&lt;br /&gt;
sudo -u root systemctl enable elasticsearch&lt;br /&gt;
sudo -u root systemctl start elasticsearch&lt;br /&gt;
sudo -u root systemctl enable mariadb&lt;br /&gt;
sudo -u root systemctl start mariadb&lt;br /&gt;
sudo -u root systemctl enable gearmand&lt;br /&gt;
sudo -u root systemctl start gearmand&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Installing Archivematica Storage Service ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;First, we install the packages:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root yum install -y python-pip archivematica-storage-service&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;After the package is installed, we need to populate the sqlite database, and collect some static files used by django. Those tasks must be run as “archivematica” user.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u archivematica bash -c &amp;amp;quot; \&lt;br /&gt;
set -a -e -x&lt;br /&gt;
source /etc/sysconfig/archivematica-storage-service&lt;br /&gt;
cd /usr/share/archivematica/storage-service&lt;br /&gt;
/usr/lib/python2.7/archivematica/storage-service/bin/python manage.py migrate&lt;br /&gt;
/usr/lib/python2.7/archivematica/storage-service/bin/python manage.py collectstatic --noinput&lt;br /&gt;
&amp;amp;quot;;&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;And now, we enable and start the archivematica-storage-service and it’s nginx frontend&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root systemctl enable archivematica-storage-service&lt;br /&gt;
sudo -u root systemctl start archivematica-storage-service&lt;br /&gt;
sudo -u root systemctl enable nginx&lt;br /&gt;
sudo -u root systemctl start nginx&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The storage service will be avaliable at http://&amp;lt;ip&amp;gt;:8001&lt;br /&gt;
&lt;br /&gt;
== Installing Archivematica Dashboard and MCP Server ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;First, install the pacakges:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root yum install -y archivematica-common archivematica-mcp-server archivematica-dashboard&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Create and populate the mysql database with:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -H -u root mysql -hlocalhost -uroot -e &amp;amp;quot;DROP DATABASE IF EXISTS MCP; CREATE DATABASE MCP CHARACTER SET utf8 COLLATE utf8_unicode_ci;&amp;amp;quot;&lt;br /&gt;
sudo -H -u root mysql -hlocalhost -uroot -e &amp;amp;quot;CREATE USER 'archivematica'@'localhost' IDENTIFIED BY 'demo';&amp;amp;quot;&lt;br /&gt;
sudo -H -u root mysql -hlocalhost -uroot -e &amp;amp;quot;GRANT ALL ON MCP.* TO 'archivematica'@'localhost';&amp;amp;quot;&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;And as archivematica user, run migrations:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u archivematica bash -c &amp;amp;quot; \&lt;br /&gt;
set -a -e -x&lt;br /&gt;
source /etc/sysconfig/archivematica-dashboard&lt;br /&gt;
cd /usr/share/archivematica/dashboard&lt;br /&gt;
/usr/lib/python2.7/archivematica/dashboard/bin/python manage.py syncdb --noinput&lt;br /&gt;
&amp;amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Start and enable services:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root systemctl enable archivematica-mcp-server&lt;br /&gt;
sudo -u root systemctl start archivematica-mcp-server&lt;br /&gt;
sudo -u root systemctl enable archivematica-dashboard&lt;br /&gt;
sudo -u root systemctl start archivematica-dashboard&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Reload nginx in order to load the dashboard config file:&amp;lt;br /&amp;gt;&lt;br /&gt;
sudo -u root systemctl reload nginx&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The dashboard will be avaliable at http://ip:81&lt;br /&gt;
&lt;br /&gt;
== Installing Archivematica MCP Client ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;First, we need to add some extra repos with the MCP Client dependencies:&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Archivematica supplied external packages:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root bash -c 'cat &amp;lt;&amp;lt; EOF &amp;gt; /etc/yum.repos.d/archivematica-extras.repo&lt;br /&gt;
[archivematica-extras]&lt;br /&gt;
name=archivematica-extras&lt;br /&gt;
baseurl=https://packages.archivematica.org/1.5.x/centos-extras&lt;br /&gt;
gpgcheck=0&lt;br /&gt;
enabled=1&lt;br /&gt;
EOF'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Nux multimedia repo&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;rpm -Uvh https://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Forensic tools repo&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;rpm -Uvh https://forensics.cert.org/cert-forensics-tools-release-el7.rpm&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Then, install the package:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root yum install -y archivematica-mcp-client&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;The MCP Client expect some programs in certain paths, so we put things in place:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo cp /usr/bin/clamscan /usr/bin/clamdscan&lt;br /&gt;
sudo ln -s /usr/bin/7za /usr/bin/7z&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;After that, we can enable and start services&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root systemctl enable archivematica-mcp-client&lt;br /&gt;
sudo -u root systemctl start archivematica-mcp-client&lt;br /&gt;
sudo -u root systemctl enable fits-nailgun&lt;br /&gt;
sudo -u root systemctl start fits-nailgun&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Finalizing Installation ==&lt;br /&gt;
&lt;br /&gt;
The dashboard will be available on port 81, and the storage service on port 8001.  You will need to complete the installation by opening up the dashboard in a web browser, and filling in the form you are presented with.  On the 2nd page of the installer, you are asked for information about the storage service.  You will need to log into the storage service and find the api key that was generated for your user (in admin-&amp;gt;users).&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
Each service have a configuration file in /etc/sysconfig/archivematica-''packagename''&lt;br /&gt;
&lt;br /&gt;
== Known bugs / Caveats ==&lt;br /&gt;
&lt;br /&gt;
* If IPv6 is disabled, Nginx may refuse to start. If that is the case make sure that the listen directives used under /etc/nginx are not using IPv6 addresses like [::]:80.&lt;br /&gt;
* If you find a bug, please let us know [https://github.com/artefactual-labs/am-packbuild/issues here]&lt;/div&gt;</summary>
		<author><name>Scollazo</name></author>
	</entry>
	<entry>
		<id>https://wiki.archivematica.org/index.php?title=Improvements/CentOS-RedHat_support&amp;diff=10989</id>
		<title>Improvements/CentOS-RedHat support</title>
		<link rel="alternate" type="text/html" href="https://wiki.archivematica.org/index.php?title=Improvements/CentOS-RedHat_support&amp;diff=10989"/>
		<updated>2016-03-31T14:44:05Z</updated>

		<summary type="html">&lt;p&gt;Scollazo: /* Status */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== User Story ==&lt;br /&gt;
&lt;br /&gt;
As a systems administrator, I would like to be able to run Archivematica on an rpm based version of linux like CentOS or RedHat.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
Sponsored development began in early February 2016.  &lt;br /&gt;
&lt;br /&gt;
The instructions in order to install archivematica on centos are avaliable at [[Improvements/CentOS-RedHat_Install]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There is also an ansible playbook capable of getting Archivematica running on CentOS here: https://github.com/artefactual-labs/ansible-role-archivematica-src/tree/dev/centos . This is a work in progress, not ready to be tested fully yet.&lt;br /&gt;
&lt;br /&gt;
== Interest ==&lt;br /&gt;
&lt;br /&gt;
Please feel free to add your organizations name to this list, if you have an interest in this improvement.&lt;br /&gt;
&lt;br /&gt;
Artefactual would like to see this improvement developed.  We are able to do the development work, for a fee.  We are also willing to assist others to complete all or part of the work required, in order to reduce the scope down to a level where Artefactual can complete the process as part of our existing commitment to provide new packages with each release.&lt;br /&gt;
&lt;br /&gt;
The National Library of Wales would like to see this developed. We have been building Archivematica on RHEL for a couple of years now, and would like to see an official rpm distribution. We have contacted Artefactual regarding the work.&lt;br /&gt;
&lt;br /&gt;
== Analysis: ==&lt;br /&gt;
&lt;br /&gt;
=== The Current Situation ===&lt;br /&gt;
&lt;br /&gt;
Currently, Archivematica only works on LTS versions of Ubuntu (14.04 and 12.04).  This is not due to any specific limitations in the Archivematica codebase, it is entirely a matter of packaging and bundling the large number of dependencies required in an Archivematica installation.&lt;br /&gt;
&lt;br /&gt;
Archivematica is comprised of a set of 5 separate packages, written primarily in python.  Artefactual currently builds .deb packages for Ubuntu of all 5 packages, and makes them available via launchpad (e.g, the most current stable version is at https://launchpad.net/~archivematica/+archive/ubuntu/1.4).&lt;br /&gt;
&lt;br /&gt;
It is not necessary to use those .deb packages to install Archivematica.  For example see these instructions for installing Archivematica using Ansible and Vagrant (https://wiki.archivematica.org/Getting_started#Installation).  In that example, the 5 Archivematica packages are installed directly from github, as source, not from .deb packages.  However, the longer list of external dependencies are still installed from .deb packages. &lt;br /&gt;
&lt;br /&gt;
Some of those .deb packages are available in the standard Ubuntu repositories, like apache and mysql.  Others, like jhove, are in the Ubuntu multiverse repository, which is not always enabled by default in Ubuntu, but is easy to enable.  Others are either not available from Ubuntu repositories, or the versions available there are too old to work in Archivematica.  For these packages, Artefactual has taken on the responsibility for building .deb packages, and hosting them on launchpad.  There are several listed here for example https://launchpad.net/~archivematica/+archive/ubuntu/1.4, like bagit, bulk_extractor, ffmpeg and others.&lt;br /&gt;
&lt;br /&gt;
==== List of Archivematica's Ubuntu Package Dependencies ====&lt;br /&gt;
&lt;br /&gt;
This list is based on the packages installed by the Ansible role ( https://github.com/artefactual-labs/ansible-role-archivematica-src )&lt;br /&gt;
&lt;br /&gt;
Note that it is planned to move some package based dependencies to pip ( https://github.com/artefactual/archivematica/pull/398 )&lt;br /&gt;
&lt;br /&gt;
===== Installed Using Packages =====&lt;br /&gt;
    &lt;br /&gt;
====== Storage Service ======&lt;br /&gt;
 &lt;br /&gt;
    - &amp;quot;python-lxml&amp;quot;&lt;br /&gt;
    - &amp;quot;nginx&amp;quot;&lt;br /&gt;
    - &amp;quot;unar&amp;quot;&lt;br /&gt;
    - &amp;quot;uwsgi&amp;quot;&lt;br /&gt;
    - &amp;quot;uwsgi-plugin-python&amp;quot;&lt;br /&gt;
    - &amp;quot;python-virtualenv&amp;quot;&lt;br /&gt;
    - &amp;quot;python-dev&amp;quot;&lt;br /&gt;
    - &amp;quot;libxml2-dev&amp;quot;&lt;br /&gt;
    - &amp;quot;libxslt1-dev&amp;quot;&lt;br /&gt;
    - &amp;quot;libz-dev&amp;quot;&lt;br /&gt;
    - &amp;quot;libffi-dev&amp;quot;&lt;br /&gt;
    - &amp;quot;libssl-dev&amp;quot;&lt;br /&gt;
&lt;br /&gt;
====== Pipeline (dashboard, MCP Server, MCP Client) ======&lt;br /&gt;
&lt;br /&gt;
    - &amp;quot;python&amp;quot;&lt;br /&gt;
    - &amp;quot;python-pip&amp;quot;&lt;br /&gt;
    - &amp;quot;python2.7-elementtree&amp;quot;&lt;br /&gt;
    - &amp;quot;python-mimeparse&amp;quot;&lt;br /&gt;
    - &amp;quot;python-dateutil&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    - &amp;quot;apache2-mpm-prefork&amp;quot;&lt;br /&gt;
    - &amp;quot;libapache2-mod-wsgi&amp;quot;&lt;br /&gt;
    - &amp;quot;python-pip&amp;quot;&lt;br /&gt;
    - &amp;quot;python-gearman&amp;quot;&lt;br /&gt;
    - &amp;quot;python-simplejson&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    - &amp;quot;dbconfig-common&amp;quot;&lt;br /&gt;
    - &amp;quot;logapp&amp;quot;&lt;br /&gt;
    - &amp;quot;python-pyinotify&amp;quot;&lt;br /&gt;
    - &amp;quot;python-gearman&amp;quot;&lt;br /&gt;
    - &amp;quot;python-mysqldb&amp;quot;&lt;br /&gt;
    - &amp;quot;python-lxml&amp;quot;&lt;br /&gt;
    - &amp;quot;uuid&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    - &amp;quot;atool&amp;quot;&lt;br /&gt;
    - &amp;quot;bagit&amp;quot; (*)&lt;br /&gt;
    - &amp;quot;bulk-extractor&amp;quot; (*)&lt;br /&gt;
    - &amp;quot;clamav&amp;quot;&lt;br /&gt;
    - &amp;quot;clamav-daemon&amp;quot;&lt;br /&gt;
    - &amp;quot;ffmpeg&amp;quot; (*)&lt;br /&gt;
    - &amp;quot;fits&amp;quot; (*)&lt;br /&gt;
    - &amp;quot;gearman&amp;quot;&lt;br /&gt;
    - &amp;quot;imagemagick&amp;quot;&lt;br /&gt;
    - &amp;quot;inkscape&amp;quot;&lt;br /&gt;
    - &amp;quot;jhove&amp;quot;&lt;br /&gt;
    - &amp;quot;libimage-exiftool-perl&amp;quot; (*)&lt;br /&gt;
    - &amp;quot;libxml2-utils&amp;quot;&lt;br /&gt;
    - &amp;quot;logapp&amp;quot;&lt;br /&gt;
    - &amp;quot;md5deep&amp;quot;&lt;br /&gt;
    - &amp;quot;mediainfo&amp;quot;&lt;br /&gt;
    - &amp;quot;nfs-common&amp;quot;&lt;br /&gt;
    - &amp;quot;openjdk-7-jre-headless&amp;quot;&lt;br /&gt;
    - &amp;quot;p7zip-full&amp;quot;&lt;br /&gt;
    - &amp;quot;pbzip2&amp;quot;&lt;br /&gt;
    - &amp;quot;postfix&amp;quot;&lt;br /&gt;
    - &amp;quot;python-fido&amp;quot; (*)&lt;br /&gt;
    - &amp;quot;python-gearman&amp;quot;&lt;br /&gt;
    - &amp;quot;python-lxml&amp;quot;&lt;br /&gt;
    - &amp;quot;python-mysqldb&amp;quot;&lt;br /&gt;
    - &amp;quot;python-pyicu&amp;quot;&lt;br /&gt;
    - &amp;quot;python-unidecode&amp;quot;&lt;br /&gt;
    - &amp;quot;readpst&amp;quot;&lt;br /&gt;
    - &amp;quot;rsync&amp;quot;&lt;br /&gt;
    - &amp;quot;siegfried&amp;quot; (*)&lt;br /&gt;
    - &amp;quot;sleuthkit&amp;quot; (*)&lt;br /&gt;
    - &amp;quot;tesseract-ocr&amp;quot;&lt;br /&gt;
    - &amp;quot;tika&amp;quot; (*)&lt;br /&gt;
    - &amp;quot;tree&amp;quot;&lt;br /&gt;
    - &amp;quot;ufraw&amp;quot;&lt;br /&gt;
    - &amp;quot;unrar-free&amp;quot;&lt;br /&gt;
    - &amp;quot;uuid&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Packages with an (*) have been built by Artefactual, as they do not exist in the public Ubuntu repositories, or the versions found in the public repositories were not recent enough for Archivematica to work properly.&lt;br /&gt;
&lt;br /&gt;
=== RPM Support ===&lt;br /&gt;
&lt;br /&gt;
This analysis is based on the use of CentOS/Redhat 7, for a port to CentOS 6, there would be more work than is outlined here.&lt;br /&gt;
&lt;br /&gt;
In order to get Archivematica running on an rpm based linux distribution,  a set of 5 rpm packages for the different Archivematica applications would need to be created.  RPM's for about 30 different dependencies would also have to be created.&lt;br /&gt;
&lt;br /&gt;
Archivematica Packages:&lt;br /&gt;
&lt;br /&gt;
Archivematica Common&lt;br /&gt;
Dashboard&lt;br /&gt;
MCP Server&lt;br /&gt;
MCP Client&lt;br /&gt;
Archivematica Storage Service&lt;br /&gt;
&lt;br /&gt;
optional (not all of these are currently being packaged as .debs): &lt;br /&gt;
MCP rpc Client&lt;br /&gt;
automation-tools&lt;br /&gt;
archivematica-devtools&lt;br /&gt;
&lt;br /&gt;
Other Open Source applications required in rpm packages for Archivematica:&lt;br /&gt;
&lt;br /&gt;
* atool&lt;br /&gt;
* bagit&lt;br /&gt;
* bulk_extractor&lt;br /&gt;
* exiftool (repoforge has this, but we want to package a specific version)&lt;br /&gt;
* ffmpeg&lt;br /&gt;
** libasound2&lt;br /&gt;
** jack&lt;br /&gt;
** openjpeg - 1.5.x is packaged, might be new enough to avoid packaging&lt;br /&gt;
** libraw1394 - we might be able to live without this&lt;br /&gt;
** libvpx&lt;br /&gt;
* fido&lt;br /&gt;
* fits&lt;br /&gt;
* gearman / python-gearman&lt;br /&gt;
* jhove&lt;br /&gt;
* mediainfo&lt;br /&gt;
* nailgun / nailgun-client&lt;br /&gt;
* nfs - should work without extra packages, but requires testing&lt;br /&gt;
* python-elementtree&lt;br /&gt;
* python-mimeparse&lt;br /&gt;
* siegfried&lt;br /&gt;
** go 1.4&lt;br /&gt;
* sleuthkit&lt;br /&gt;
** afflib&lt;br /&gt;
** libbfio&lt;br /&gt;
** libewf (version in repoforge is 3 years older)&lt;br /&gt;
* tika&lt;br /&gt;
* ufraw&lt;br /&gt;
* unar&lt;br /&gt;
* unidecode&lt;br /&gt;
* unrar-free&lt;br /&gt;
&lt;br /&gt;
All of the remaining required dependencies are either included in the stock RHEL/CentOS 7 repositories, or in the third-party Repoforge repository.&lt;br /&gt;
(TODO: list which repo each dependency is maintained in).&lt;br /&gt;
&lt;br /&gt;
Artefactual already produces Ubuntu packages for most of the packages listed here, and we have some tooling in place to automate some of this process. &lt;br /&gt;
See: https://github.com/artefactual-labs/am-packbuild for an example set of python scripts used to create Ubuntu packages for the 5 Archivematica packages.&lt;br /&gt;
(TODO: move ubuntu packaging scripts to github).&lt;br /&gt;
&lt;br /&gt;
== Scope ==&lt;br /&gt;
&lt;br /&gt;
Artefactual has done some analysis of the effort required, and provided quotes for this work to some institutions, at their request.  Feel free to add additional comments or another piece to this section if you have more information about the possible scope of work required.&lt;br /&gt;
&lt;br /&gt;
=== Proposed Approach ===&lt;br /&gt;
&lt;br /&gt;
# Check if the Ubuntu package dependencies have equivalent RPMs in CentOS. We estimate that Ubuntu packages provided by standard Ubuntu repositories have a CentOS equivalent in the standard CentOS repos, and that all the Ubuntu packages built by Artefactual are missing in CentOS and require to be built as well   &lt;br /&gt;
# Build missing CentOS RPMs package dependencies&lt;br /&gt;
# Fix the ansible role in https://github.com/artefactual-labs/ansible-role-archivematica-src to be able to install Archivematica / Storage Service in CentOS&lt;br /&gt;
# Repeat steps above as required until we obtain a working CentOS installation&lt;br /&gt;
&lt;br /&gt;
=== Artefactual Estimate ===&lt;br /&gt;
&lt;br /&gt;
We have estimated that it would take about 16-20 hours to create an initial set of packages for all of the required applications.&lt;br /&gt;
&lt;br /&gt;
Another 12-16 hours of testing would be required, at a minimum, to confirm that all the packages are working properly, and to do very basic tests of Archivematica on CentOS 7.  Further testing would be desirable, any testing that could be done by the community would help improve the outcome of this work. &lt;br /&gt;
&lt;br /&gt;
We would probably need another 8 hours of work for project administration and documentation.&lt;br /&gt;
&lt;br /&gt;
Based on these estimates, it would probably take about 40 hours of work to create the required packages and test and document the CentOS 7 installation procedure.&lt;br /&gt;
&lt;br /&gt;
Artefactual provides development services on either a fixed fee or a time and materials basis.  We offer a less expensive rate for time and materials contracts.  Our rates are listed here:&lt;br /&gt;
&lt;br /&gt;
https://www.artefactual.com/services/&lt;br /&gt;
&lt;br /&gt;
== Alternative approaches ==&lt;br /&gt;
&lt;br /&gt;
It's also possible to ship the Archivematica packages and its dependencies as container images. Docker has donated its container format and runtime to the [https://www.opencontainers.org/ Open Container Initiative]. These images are composable and they can run via the Docker or rkt container runtimes or independently via [https://github.com/opencontainers/runc runC]. Images are easily distributed via services like [https://hub.docker.com/ Docker Hub] or [https://github.com/docker/distribution Docker Distribution].&lt;br /&gt;
&lt;br /&gt;
A first attempt at this approach has been published [https://hub.docker.com/r/sevein/archivematica-mcp-client-base/].  This is a docker image containing all of the dependencies of the Archivematica MCP Client package.  The image is built on top of an ubuntu base image, but it can be deployed on any linux distribution, not just CentOS.  Docker images can also be run on a windows host, via virtualbox on windows 8/10, and via Windows Containers on Windows Server 2016.&lt;br /&gt;
&lt;br /&gt;
It is possible to produce rpm packages, that contain docker images, for example: [https://github.com/alanfranz/docker-rpm-builder].  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
More on Docker from RedHat: [http://developerblog.redhat.com/2014/05/15/practical-introduction-to-docker-containers/]&lt;/div&gt;</summary>
		<author><name>Scollazo</name></author>
	</entry>
	<entry>
		<id>https://wiki.archivematica.org/index.php?title=Improvements/CentOS-RedHat_support/Installation&amp;diff=10988</id>
		<title>Improvements/CentOS-RedHat support/Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.archivematica.org/index.php?title=Improvements/CentOS-RedHat_support/Installation&amp;diff=10988"/>
		<updated>2016-03-31T14:39:54Z</updated>

		<summary type="html">&lt;p&gt;Scollazo: Created page with &amp;quot;= Quick install using [https://www.vagrantup.com/ Vagrant] =  This method will have you up and running in no time, using a virtual machine provisioned with vagrant.  &amp;lt;ul&amp;gt; &amp;lt;li&amp;gt;...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Quick install using [https://www.vagrantup.com/ Vagrant] =&lt;br /&gt;
&lt;br /&gt;
This method will have you up and running in no time, using a virtual machine provisioned with vagrant.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;First, clone the am-packbuild repo:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;git clone https://github.com/artefactual-labs/am-packbuild/&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;cd into the rpm-testing directory&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;cd am-packbuild/rpm-testing/&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;run vagrant&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;vagrant up&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After the install, the Archivematica Dashboard will be avaliable on port 81 of the vagrant deployed box, and the Storage Service, in port 8001.&lt;br /&gt;
&lt;br /&gt;
You can log in the vm over ssh running &amp;lt;code&amp;gt;vagrant ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Step by step Install =&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
=== Extra repos ===&lt;br /&gt;
&lt;br /&gt;
Some repositories need to be installed in order to fullfill the instalation procedure:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Extra packages for enterprise linux&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;yum install -y epel-release&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Elasticsearch&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch&lt;br /&gt;
sudo -u root bash -c 'cat &amp;amp;lt;&amp;amp;lt; EOF &amp;amp;gt; /etc/yum.repos.d/elasticsearch.repo&lt;br /&gt;
[elasticsearch-1.7]&lt;br /&gt;
name=Elasticsearch repository for 1.7 packages&lt;br /&gt;
baseurl=https://packages.elastic.co/elasticsearch/1.7/centos&lt;br /&gt;
gpgcheck=1&lt;br /&gt;
gpgkey=https://packages.elastic.co/GPG-KEY-elasticsearch&lt;br /&gt;
enabled=1&lt;br /&gt;
EOF'&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Archivematica&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root bash -c 'cat &amp;amp;lt;&amp;amp;lt; EOF &amp;amp;gt; /etc/yum.repos.d/archivematica.repo&lt;br /&gt;
[archivematica]&lt;br /&gt;
name=archivematica&lt;br /&gt;
baseurl=https://packages.archivematica.org/1.x/centos&lt;br /&gt;
gpgcheck=0&lt;br /&gt;
enabled=1&lt;br /&gt;
EOF'&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Service depencencies. ===&lt;br /&gt;
&lt;br /&gt;
Common services like elasticsearch, mariadb and gearmand should be installed and enabled before the archivematica install. It can be done with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root yum install -y java-1.8.0-openjdk-headless elasticsearch mariadb-server gearmand&lt;br /&gt;
sudo -u root systemctl enable elasticsearch&lt;br /&gt;
sudo -u root systemctl start elasticsearch&lt;br /&gt;
sudo -u root systemctl enable mariadb&lt;br /&gt;
sudo -u root systemctl start mariadb&lt;br /&gt;
sudo -u root systemctl enable gearmand&lt;br /&gt;
sudo -u root systemctl start gearmand&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Installing Archivematica Storage Service ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;First, we install the packages:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root yum install -y python-pip archivematica-storage-service&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;After the package is installed, we need to populate the sqlite database, and collect some static files used by django. Those tasks must be run as “archivematica” user.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u archivematica bash -c &amp;amp;quot; \&lt;br /&gt;
set -a -e -x&lt;br /&gt;
source /etc/sysconfig/archivematica-storage-service&lt;br /&gt;
cd /usr/share/archivematica/storage-service&lt;br /&gt;
/usr/lib/python2.7/archivematica/storage-service/bin/python manage.py migrate&lt;br /&gt;
/usr/lib/python2.7/archivematica/storage-service/bin/python manage.py collectstatic --noinput&lt;br /&gt;
&amp;amp;quot;;&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;And now, we enable and start the archivematica-storage-service and it’s nginx frontend&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root systemctl enable archivematica-storage-service&lt;br /&gt;
sudo -u root systemctl start archivematica-storage-service&lt;br /&gt;
sudo -u root systemctl enable nginx&lt;br /&gt;
sudo -u root systemctl start nginx&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The storage service will be avaliable at http://&amp;lt;ip&amp;gt;:8001&lt;br /&gt;
&lt;br /&gt;
== Installing Archivematica Dashboard and MCP Server ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;First, install the pacakges:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root yum install -y archivematica-common archivematica-mcp-server archivematica-dashboard&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Create and populate the mysql database with:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -H -u root mysql -hlocalhost -uroot -e &amp;amp;quot;DROP DATABASE IF EXISTS MCP; CREATE DATABASE MCP CHARACTER SET utf8 COLLATE utf8_unicode_ci;&amp;amp;quot;&lt;br /&gt;
sudo -H -u root mysql -hlocalhost -uroot -e &amp;amp;quot;CREATE USER 'archivematica'@'localhost' IDENTIFIED BY 'demo';&amp;amp;quot;&lt;br /&gt;
sudo -H -u root mysql -hlocalhost -uroot -e &amp;amp;quot;GRANT ALL ON MCP.* TO 'archivematica'@'localhost';&amp;amp;quot;&lt;br /&gt;
sudo -H -u root mysql -hlocalhost -uroot MCP &amp;amp;lt; /usr/share/archivematica/MCPServer/mysql&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;And as archivematica user, run migrations:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u archivematica bash -c &amp;amp;quot; \&lt;br /&gt;
set -a -e -x&lt;br /&gt;
source /etc/sysconfig/archivematica-dashboard&lt;br /&gt;
cd /usr/share/archivematica/dashboard&lt;br /&gt;
/usr/lib/python2.7/archivematica/dashboard/bin/python manage.py syncdb --noinput&lt;br /&gt;
&amp;amp;quot;;&lt;br /&gt;
sudo -u root /usr/share/archivematica/MCPServer/mysql_dev.sh MCP&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Start and enable services:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root systemctl enable archivematica-mcp-server&lt;br /&gt;
sudo -u root systemctl start archivematica-mcp-server&lt;br /&gt;
sudo -u root systemctl enable archivematica-dashboard&lt;br /&gt;
sudo -u root systemctl start archivematica-dashboard&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Reload nginx in order to load the dashboard config file:&amp;lt;br /&amp;gt;&lt;br /&gt;
sudo -u root systemctl reload nginx&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The dashboard will be avaliable at http://ip:81&lt;br /&gt;
== Installing Archivematica MCP Client ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;First, we need to add some extra repos with the MCP Client dependencies:&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Nux multimedia repo&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;    rpm -Uvh https://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Forensic tools repo&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;    rpm -Uvh https://forensics.cert.org/cert-forensics-tools-release-el7.rpm&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Then, install the package:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root yum install -y archivematica-mcp-client&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;The MCP Client expect some programs in certain paths, so we put things in place:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo cp /usr/bin/clamscan /usr/bin/clamdscan&lt;br /&gt;
sudo ln -s /usr/bin/7za /usr/bin/7z&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;After that, we can enable and start services&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u root systemctl enable archivematica-mcp-client&lt;br /&gt;
sudo -u root systemctl start archivematica-mcp-client&lt;br /&gt;
sudo -u root systemctl enable fits-nailgun&lt;br /&gt;
sudo -u root systemctl start fits-nailgun&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
Each service have a configuration file in /etc/sysconfig/archivematica-''packagename''&lt;br /&gt;
&lt;br /&gt;
== Known bugs / Caveats ==&lt;br /&gt;
&lt;br /&gt;
* If IPv6 is disabled, Nginx may refuse to start. If that is the case make sure that the listen directives used under /etc/nginx are not using IPv6 addresses like [::]:80.&lt;br /&gt;
* If you find a bug, please let us know [https://github.com/artefactual-labs/am-packbuild/issues here]&lt;/div&gt;</summary>
		<author><name>Scollazo</name></author>
	</entry>
</feed>