Skip to content

Commit

Permalink
Address #52 and #59
Browse files Browse the repository at this point in the history
  • Loading branch information
ruebot committed May 21, 2015
1 parent 4d10626 commit 5f3c8f8
Show file tree
Hide file tree
Showing 7 changed files with 81 additions and 109 deletions.
2 changes: 1 addition & 1 deletion Vagrantfile
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.provision :shell, path: "./scripts/solr.sh", :args => shared_dir
config.vm.provision :shell, path: "./scripts/gsearch.sh", :args => shared_dir
config.vm.provision :shell, path: "./scripts/drupal.sh", :args => shared_dir
config.vm.provision :shell, path: "./scripts/islandora_modules.sh", :args => shared_dir
config.vm.provision :shell, path: "./scripts/islandora_modules.sh", :args => shared_dir, :privileged => false
config.vm.provision :shell, path: "./scripts/islandora_libraries.sh", :args => shared_dir, :privileged => false
config.vm.provision :shell, path: "./scripts/tesseract.sh", :args => shared_dir
config.vm.provision :shell, path: "./scripts/ffmpeg.sh", :args => shared_dir
Expand Down
44 changes: 44 additions & 0 deletions configs/islandora-module-list-sans-tuque.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
islandora
islandora_bagit
islandora_batch
islandora_book_batch
islandora_bookmark
islandora_checksum
islandora_checksum_checker
islandora_fits
islandora_image_annotation
islandora_importer
islandora_internet_archive_bookreader
islandora_jwplayer
islandora_marcxml
islandora_oai
islandora_ocr
islandora_openseadragon
islandora_paged_content
islandora_pathauto
islandora_pdfjs
islandora_premis
islandora_scholar
islandora_simple_workflow
islandora_solr_facet_pages
islandora_solr_metadata
islandora_solr_search
islandora_solr_views
islandora_solution_pack_audio
islandora_solution_pack_book
islandora_solution_pack_collection
islandora_solution_pack_compound
islandora_solution_pack_disk_image
islandora_solution_pack_entities
islandora_solution_pack_image
islandora_solution_pack_large_image
islandora_solution_pack_newspaper
islandora_solution_pack_pdf
islandora_solution_pack_video
islandora_solution_pack_web_archive
islandora_videojs
islandora_xacml_editor
islandora_xml_forms
islandora_xmlsitemap
objective_forms
php_lib
68 changes: 0 additions & 68 deletions configs/islandora.drush.make

This file was deleted.

7 changes: 5 additions & 2 deletions scripts/bootstrap.sh
Original file line number Diff line number Diff line change
Expand Up @@ -75,5 +75,8 @@ echo "CREATE USER 'fedoraAdmin'@'localhost' IDENTIFIED BY 'fedoraAdmin'" | mysql
echo "GRANT ALL ON fedora3.* TO 'fedoraAdmin'@'localhost'" | mysql -uroot -pislandora
echo "flush privileges" | mysql -uroot -pislandora

# Add vagrant user to Apache user's group
usermod -a -G www-data vagrant
# Add web group, and put some users in it
groupadd web
usermod -a -G web www-data
usermod -a -G web vagrant
usermod -a -G web tomcat7
10 changes: 8 additions & 2 deletions scripts/fcrepo.sh
Original file line number Diff line number Diff line change
Expand Up @@ -56,13 +56,19 @@ echo "Sleeping while Fedora starts for the first time."
sleep 45

# Setup XACML Policies
rm -v $FEDORA_HOME/data/fedora-xacml-policies/repository-policies/default/deny-purge-*
rm /usr/local/fedora/data/fedora-xacml-policies/repository-policies/default/deny-apim-if-not-localhost.xml
rm $FEDORA_HOME/data/fedora-xacml-policies/repository-policies/default/deny-inactive-or-deleted-objects-or-datastreams-if-not-administrator.xml
rm $FEDORA_HOME/data/fedora-xacml-policies/repository-policies/default/deny-policy-management-if-not-administrator.xml
rm $FEDORA_HOME/data/fedora-xacml-policies/repository-policies/default/deny-unallowed-file-resolution.xml

cd $FEDORA_HOME/data/fedora-xacml-policies/repository-policies/
git clone https://github.com/Islandora/islandora-xacml-policies.git islandora
rm $FEDORA_HOME/data/fedora-xacml-policies/repository-policies/islandora/permit-apim-to-anonymous-user.xml
rm $FEDORA_HOME/data/fedora-xacml-policies/repository-policies/islandora/permit-upload-to-anonymous-user.xml

# Work around for issue #32 : Authentication error with Fedora API-M
# This probably isn't ideal, and I'm not sure if this is just an issue of working from a local desktop to vagrant vm, or something else sinister.
sed -i 's|<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">0:0:0:0:0:0:0:1%.+</AttributeValue>|<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}</AttributeValue>|' /usr/local/fedora/data/fedora-xacml-policies/repository-policies/default/deny-apim-if-not-localhost.xml
#sed -i 's|<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">0:0:0:0:0:0:0:1%.+</AttributeValue>|<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}</AttributeValue>|' /usr/local/fedora/data/fedora-xacml-policies/repository-policies/default/deny-apim-if-not-localhost.xml

# Setup Drupal filter
wget -q -O "/tmp/fcrepo-drupalauthfilter-$FEDORA_VERSION.jar" https://github.com/Islandora/islandora_drupal_filter/releases/download/v7.1.3/fcrepo-drupalauthfilter-$FEDORA_VERSION.jar
Expand Down
3 changes: 0 additions & 3 deletions scripts/islandora_libraries.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,5 @@ sudo drush -v colorbox-plugin
sudo drush -v openseadragon-plugin
sudo drush -v -y en islandora_openseadragon

sudo chown -hR www-data:www-data /var/www/drupal/sites/all/libraries
sudo chmod -R 775 /var/www/drupal/sites/all/libraries

# After last drush call from root user, change cache permissions
sudo chown -R vagrant:vagrant $HOME_DIR/.drush
56 changes: 23 additions & 33 deletions scripts/islandora_modules.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,31 @@ if [ -f "$SHARED_DIR/configs/variables" ]; then
. $SHARED_DIR/configs/variables
fi

cd /var/www/drupal/sites/all
# Permissions and ownership
sudo chown -hR vagrant:web /var/www/drupal/sites/all/libraries
sudo chown -hR vagrant:web /var/www/drupal/sites/all/modules
sudo chmod -R 775 /var/www/drupal/sites/all/libraries
sudo chmod -R 775 /var/www/drupal/sites/all/modules

drush make --yes --no-core --contrib-destination=. $SHARED_DIR/configs/islandora.drush.make
# Clone all Islandora Foundation modules
cd /var/www/drupal/sites/all/modules
cat $SHARED_DIR/configs/islandora-module-list-sans-tuque.txt | while read LINE; do
git clone https://github.com/Islandora/$LINE
done

# Clone Tuque and BagItPHP
cd /var/www/drupal/sites/all
if [ ! -d libraries ]; then
mkdir libraries
fi
cd /var/www/drupal/sites/all/libraries
git clone https://github.com/Islandora/tuque
git clone git://github.com/scholarslab/BagItPHP.git

# Check for a user's .drush folder, create if it doesn't exist
if [ ! -d "$HOME_DIR/.drush" ]; then
mkdir "$HOME_DIR/.drush"
chown vagrant:vagrant $HOME_DIR/.drush
sudo chown vagrant:vagrant $HOME_DIR/.drush
fi

# Move OpenSeadragon drush file to user's .drush folder
Expand All @@ -40,36 +53,13 @@ if [ -d "$HOME_DIR/.drush" -a -f "/var/www/drupal/sites/all/modules/islandora_in
mv "/var/www/drupal/sites/all/modules/islandora_internet_archive_bookreader/islandora_internet_archive_bookreader.drush.inc" "$HOME_DIR/.drush"
fi

# Enable all modules identified in the drush makefile
cd /var/www/drupal/sites/all/modules
# Extract all the module directory names from the drush makefile so we can loop through them
MODULES=$(grep -v "^;" $SHARED_DIR/configs/islandora.drush.make | grep -oh "projects\[[A-Za-z_]*\]" | sed "s/projects\[//" | sed "s/\]/ /" | tr -d '\n')
for MODULE in $MODULES
do
# Get the module's absolute path
MODULEPATH=/var/www/drupal/sites/all/modules/$MODULE
# For each module, find all its .info files (there could be more than one)
INFOFILES=$(find $MODULEPATH -name '*.info' -exec basename {} \;)
for INFOFILE in $INFOFILES
do
# Remove the .info extension
INFOFILE=$(echo $INFOFILE | sed "s/\.info$//")
drush --yes en $INFOFILE
done
done

# Disable a module that was enabled in the preceding chainsaw massacre
drush --yes dis islandora_ingest_test

# BagItPHP library
cd /var/www/drupal/sites/all/libraries
git clone git://github.com/scholarslab/BagItPHP.git

# Permissions and ownership
chown -hR www-data:www-data /var/www/drupal/sites/all/libraries
chown -hR www-data:www-data /var/www/drupal/sites/all/modules
chmod -R 775 /var/www/drupal/sites/all/libraries
chmod -R 775 /var/www/drupal/sites/all/modules
drush -y -u 1 en php_lib islandora objective_forms
drush -y -u 1 en islandora_solr islandora_solr_metadata islandora_solr_facet_pages islandora_solr_views
drush -y -u 1 en islandora_basic_collection islandora_pdf islandora_audio islandora_book islandora_compound_object islandora_disk_image islandora_entities islandora_entities_csv_import islandora_basic_image islandora_large_image islandora_newspaper islandora_video islandora_web_archive
drush -y -u 1 en islandora_premis islandora_checksum islandora_checksum_checker
drush -y -u 1 en islandora_book_batch islandora_image_annotation islandora_pathauto islandora_pdfjs islandora_videojs islandora_jwplayer
drush -y -u 1 en xml_forms xml_form_builder xml_schema_api xml_form_elements xml_form_api jquery_update zip_importer islandora_basic_image islandora_bibliography islandora_compound_object islandora_google_scholar islandora_scholar_embargo islandora_solr_config citation_exporter doi_importer endnotexml_importer pmid_importer ris_importer
drush -y -u 1 en islandora_fits islandora_ocr islandora_oai islandora_marcxml islandora_simple_workflow islandora_xacml_api islandora_xacml_editor islandora_xmlsitemap colorbox islandora_internet_archive_bookreader islandora_bagit islandora_batch_report

cd /var/www/drupal/sites/all/modules

Expand Down

0 comments on commit 5f3c8f8

Please sign in to comment.