Difference between revisions of "App Install"
| (33 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
| + | __TOC__ | ||
| + | |||
Occasionally Amahi [https://www.amahi.org/apps applications] fail to install properly. This is often noted by error messages in the application install log (/var/log/amahi-app-install.log). | Occasionally Amahi [https://www.amahi.org/apps applications] fail to install properly. This is often noted by error messages in the application install log (/var/log/amahi-app-install.log). | ||
| Line 19: | Line 21: | ||
======= app install end @ 2014-05-03 07:42:43 -0500 ==========</pre></small> | ======= app install end @ 2014-05-03 07:42:43 -0500 ==========</pre></small> | ||
| − | Other times, you may receive notice in the Dashboard | + | Other times, you may receive notice in the Dashboard. |
| − | [[File:DashboardAppError.png| | + | [[File:DashboardAppError.png|850px]] |
We take these seriously and have incorporated additional error checking/prevention methods. Unfortunately they don't catch everything. | We take these seriously and have incorporated additional error checking/prevention methods. Unfortunately they don't catch everything. | ||
| + | = Reasons for Failure = | ||
Reasons for failure vary, but the most common are: | Reasons for failure vary, but the most common are: | ||
| − | <ul> | + | <ul><li> Network connection |
| − | <li> Network connection | + | <small><pre>#<RuntimeError: run_script had to KILL this script. it was taking too long. sorry.>, |
| − | < | + | /var/hda/platform/html/lib/system_utils.rb:66:in `run_script', |
| − | < | + | /var/hda/platform/html/app/models/app.rb:241:in `block in install_bg', |
| − | < | + | /var/hda/platform/html/app/models/app.rb:240:in `chdir', |
| − | + | /var/hda/platform/html/app/models/app.rb:240:in `install_bg', | |
| − | + | /var/hda/platform/html/script/install-app:86:in `install_or_uninstall', | |
| − | + | /var/hda/platform/html/script/install-app:107:in `main', | |
| − | + | /var/hda/platform/html/script/install-app:119:in `<main>'</pre></small></li> | |
| − | + | <li> Insufficient privileges | |
| − | /var/hda/platform/html/ | + | <small><pre>#<Errno::EACCES: Permission denied @ dir_s_mkdir - /var/hda/web-apps/bandwidthd>, |
| − | + | /usr/share/ruby/fileutils.rb:252:in `mkdir', | |
| − | + | /usr/share/ruby/fileutils.rb:252:in `fu_mkdir', | |
| − | + | /usr/share/ruby/fileutils.rb:226:in `block (2 levels) in mkdir_p', | |
| − | + | /usr/share/ruby/fileutils.rb:224:in `reverse_each', | |
| − | + | /usr/share/ruby/fileutils.rb:224:in `block in mkdir_p', | |
| − | + | /usr/share/ruby/fileutils.rb:210:in `each', | |
| − | + | /usr/share/ruby/fileutils.rb:210:in `mkdir_p', | |
| − | < | + | /var/hda/platform/html/app/models/app.rb:364:in `mkdir', |
| − | + | /var/hda/platform/html/app/models/app.rb:440:in `install_webapp', | |
| − | + | /var/hda/platform/html/app/models/app.rb:208:in `install_bg', | |
| − | <li> | + | /var/hda/platform/html/script/install-app:86:in `install_or_uninstall', |
| + | /var/hda/platform/html/script/install-app:107:in `main', | ||
| + | /var/hda/platform/html/script/install-app:119:in `<main>'</pre></small></li> | ||
| + | :To correct, as ''root'' user (or precede with <code>sudo</code>) do: | ||
| + | chown -R apache:users /var/hda/web-apps | ||
| + | <li> Source file is unavailable: | ||
<ul> | <ul> | ||
<li> New version</li> | <li> New version</li> | ||
<li> File moved</li> | <li> File moved</li> | ||
| − | <li> Wrong SHA1 hash | + | <li> Wrong SHA1 hash</li></ul> |
<small><pre>WARNING: primary downloaded file /tmp/amahi-download- | <small><pre>WARNING: primary downloaded file /tmp/amahi-download- | ||
cache/b224eae4f30c011cbe6eae3c81d662f199eaa85f did not pass signature check - got | cache/b224eae4f30c011cbe6eae3c81d662f199eaa85f did not pass signature check - got | ||
2da58737f99c63f47983db27789cf4b989975220, expected | 2da58737f99c63f47983db27789cf4b989975220, expected | ||
| − | b224eae4f30c011cbe6eae3c81d662f199eaa85f</pre></small>< | + | b224eae4f30c011cbe6eae3c81d662f199eaa85f</pre></small> |
| − | </ | + | <li>No space left on root (/) partition |
| + | <small><pre>#<Errno::ENOSPC: No space left on device @ io_write - /var/hda/tmp/amahi-download-cache/3ab7164c607c124b97e08dd25d3a9712afebde2b>, | ||
| + | /var/hda/platform/html/lib/downloader.rb:100:in `write', | ||
| + | /var/hda/platform/html/lib/downloader.rb:100:in `block in download', | ||
| + | /var/hda/platform/html/lib/downloader.rb:100:in `open', | ||
| + | /var/hda/platform/html/lib/downloader.rb:100:in `download', | ||
| + | /var/hda/platform/html/lib/downloader.rb:50:in `download_and_check_sha1', | ||
| + | /var/hda/platform/html/app/models/app.rb:200:in `install_bg', | ||
| + | /var/hda/platform/html/script/install-app:86:in `install_or_uninstall', | ||
| + | /var/hda/platform/html/script/install-app:107:in `main', | ||
| + | /var/hda/platform/html/script/install-app:119:in `<main>'</pre></small></li> | ||
| + | :Empty the ''/var/hda/tmp/amahi-download-cache'' directory. | ||
| + | rm -rf /var/hda/tmp/amahi-download-cache/* | ||
| + | </ul> | ||
| + | = Recipe for Success = | ||
There are some recommendation users can follow to help correct or prevent these problems. | There are some recommendation users can follow to help correct or prevent these problems. | ||
| − | <b>DON'T | + | <b><big>DON'T</big></b> |
# Refresh your web browser or navigate from the page while an application is installing. | # Refresh your web browser or navigate from the page while an application is installing. | ||
# Try to install an application after it initially fails. Need to diagnose issue. | # Try to install an application after it initially fails. Need to diagnose issue. | ||
| − | <b>DO | + | <b><big>DO</big></b> |
# Look at the log for details of why the app install failed. | # Look at the log for details of why the app install failed. | ||
# View the Dashboard Apps tab, Installed section for the app. | # View the Dashboard Apps tab, Installed section for the app. | ||
| Line 71: | Line 93: | ||
# Search the [https://forums.amahi.org forums] for a similar issue and potential solution. | # Search the [https://forums.amahi.org forums] for a similar issue and potential solution. | ||
# Visit the IRC, [http://webchat.freenode.net/?channels=amahi #amahi] channel for immediate assistance. | # Visit the IRC, [http://webchat.freenode.net/?channels=amahi #amahi] channel for immediate assistance. | ||
| − | # | + | # [[Submit Bug Report|Submit a bug report]]. Provide details to help with [[App_troubleshooting|debugability]] of the issue. |
| + | |||
| + | = Clean Up Failed Web App Install = | ||
| + | <div style="border: 1px solid #A3B1BF; padding: .8em 1em; background-color: #E6F2FF; margin: 0px 1em;">'''DISCLAIMER:''' The steps below should '''ONLY''' be attempted by advanced users. If you don't know what you are doing, recommend you seek professional assistance or you could break your HDA!</div> | ||
| + | |||
| + | |||
| + | '''NOTE:''' We will use '''owncloud''' as an example of the application that failed to install. | ||
| + | A web app install was unsuccessful, but it appears partially installed. This often happens and repeatedly trying to install without clean up results in multiple failed attempts. For example, 4 failed attempts of [https://www.amahi.org/apps/owncloud ownCloud] would create ''owncloud'', ''owncloud1'', ''owncloud2'', ''owncloud3''. | ||
| − | + | To return your HDA to a safe state for another install attempt, the following may help: | |
| − | + | * Navigate to the ''Network'' tab, ''DNS Aliases'' section in the Amahi Dashboard | |
| − | * | + | ** Make note of the URL name(s) |
| − | + | ** Remove each entry for the failed application by selecting ''Delete'' | |
| − | + | * If the app has a database, execute the following command: | |
| − | * | + | hda-create-db-and-user -d owncloud |
| − | ** Look to see if there is an entry for | + | <ul> |
| − | ** Remove that | + | <li>The next steps must be done from the command line as ''root'' user:</li> |
| − | <pre>MariaDB [hda_production]> select id,name from webapps; | + | <ul> |
| + | <li>Navigate to /etc/httpd/conf.d and determine file(s) to remove</li> | ||
| + | ls -al | ||
| + | <li>Remove each ####-app.conf (substitute the number for #### and URL name for app) file</li> | ||
| + | cd /etc/httpd/conf.d | ||
| + | rm -rf 1001-owncloud.conf | ||
| + | rm -rf 1002-owncloud1.conf | ||
| + | rm -rf 1003-owncloud2.conf | ||
| + | rm -rf 1004-owncloud3.conf | ||
| + | <li>Then as ''root'' user, restart apache</li> | ||
| + | sysemctl restart httpd | ||
| + | <li>Next, navigate to /var/hda/web-apps</li> | ||
| + | cd /var/hda/web-apps | ||
| + | <li>Remove each app directory</li> | ||
| + | rm -rf owncloud | ||
| + | rm -rf owncloud1 | ||
| + | rm -rf owncloud2 | ||
| + | rm -rf owncloud3 | ||
| + | </ul></ul> | ||
| + | * Finally check the HDA database ''hda_production'' (''webapps'' table). | ||
| + | ** Look to see if there is an entry for each app that failed to install correctly. | ||
| + | ** Remove the row(s) that exist for the app (i.e. id 4, 5, 6, and 7) | ||
| + | <br /> | ||
| + | :'''EXAMPLE''' | ||
| + | <blockquote><pre>MariaDB [hda_production]> select id,name from webapps; | ||
+----+------------+ | +----+------------+ | ||
| id | name | | | id | name | | ||
+----+------------+ | +----+------------+ | ||
| 1 | phpsysinfo | | | 1 | phpsysinfo | | ||
| − | + | | 4 | owncloud | | |
| − | | 4 | | + | | 5 | owncloud1 | |
| − | | 5 | | + | | 6 | owncloud2 | |
| − | | 6 | | + | | 7 | owncloud3 | |
| − | | 7 | | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
+----+------------+ | +----+------------+ | ||
| − | + | 5 rows in set (0.00 sec)</pre></blockquote> | |
| − | + | ||
| − | + | The safest way is to use a web application such as [https://www.amahi.org/apps/adminer Adminer] or [https://www.amahi.org/apps/phpmyadmin phpMyAdmin]. TO do it via command line, execute the command below for each ''id' that needs to be deleted from the database: | |
| − | + | echo "delete from webapps where id=2" | mysql -uroot -p hda_production | |
| + | |||
| + | ::'''WARNING:''' Please see [[Database Root Password]] for the appropriate login password. | ||
| + | |||
| + | Once these steps are complete, it should be safe to try and install the application. Monitor the '''/var/log/amahi-app-installer.log''' file for progress and errors via command line: | ||
| + | tail -f /var/log/amahi-app-installer.log | ||
| + | |||
| + | If the app continues to fail, recommend you seek professional assistance by [[Submit Bug Report|submitting a bug report]]. | ||
| + | |||
| + | |||
| + | Back to the [[Troubleshooting]]. | ||
Latest revision as of 03:37, 18 June 2017
Occasionally Amahi applications fail to install properly. This is often noted by error messages in the application install log (/var/log/amahi-app-install.log).
======= app install begin @ 2014-05-03 07:42:37 -0500 ========== Installing app id qf1tweahyo under /var/hda/platform/html/script/.. ENV=produc tion NOTICE: redirected 'http://downloads.sourceforge.net/project/linfo/Linfo%20Stabl e%20Releases/linfo-1.11.tar.gz' --> 'http://iweb.dl.sourceforge.net/project/linf o/Linfo%20Stable%20Releases/linfo-1.11.tar.gz' ... file /var/hda/tmp/amahi-download-cache/9306c736dc7197b9a3ed6b4c9395d4ab6e779a48 written in cache Your HDA services have been restarted. Your HDA services have been restarted. mv: cannot stat ‘unpack’: No such file or directory sed: can't read html/config.inc.php: No such file or directory chown: cannot access ‘html/lib’: No such file or directory /tmp/run_script20140503-14160-1huv0uh: line 47: html/config.inc.php: No such fil e or directory App: Linfo installed ======= app install end @ 2014-05-03 07:42:43 -0500 ==========
Other times, you may receive notice in the Dashboard.
We take these seriously and have incorporated additional error checking/prevention methods. Unfortunately they don't catch everything.
Reasons for Failure
Reasons for failure vary, but the most common are:
- Network connection
#<RuntimeError: run_script had to KILL this script. it was taking too long. sorry.>, /var/hda/platform/html/lib/system_utils.rb:66:in `run_script', /var/hda/platform/html/app/models/app.rb:241:in `block in install_bg', /var/hda/platform/html/app/models/app.rb:240:in `chdir', /var/hda/platform/html/app/models/app.rb:240:in `install_bg', /var/hda/platform/html/script/install-app:86:in `install_or_uninstall', /var/hda/platform/html/script/install-app:107:in `main', /var/hda/platform/html/script/install-app:119:in `<main>'
- Insufficient privileges
#<Errno::EACCES: Permission denied @ dir_s_mkdir - /var/hda/web-apps/bandwidthd>, /usr/share/ruby/fileutils.rb:252:in `mkdir', /usr/share/ruby/fileutils.rb:252:in `fu_mkdir', /usr/share/ruby/fileutils.rb:226:in `block (2 levels) in mkdir_p', /usr/share/ruby/fileutils.rb:224:in `reverse_each', /usr/share/ruby/fileutils.rb:224:in `block in mkdir_p', /usr/share/ruby/fileutils.rb:210:in `each', /usr/share/ruby/fileutils.rb:210:in `mkdir_p', /var/hda/platform/html/app/models/app.rb:364:in `mkdir', /var/hda/platform/html/app/models/app.rb:440:in `install_webapp', /var/hda/platform/html/app/models/app.rb:208:in `install_bg', /var/hda/platform/html/script/install-app:86:in `install_or_uninstall', /var/hda/platform/html/script/install-app:107:in `main', /var/hda/platform/html/script/install-app:119:in `<main>'
- To correct, as root user (or precede with
sudo) do:
chown -R apache:users /var/hda/web-apps
- New version
- File moved
- Wrong SHA1 hash
WARNING: primary downloaded file /tmp/amahi-download- cache/b224eae4f30c011cbe6eae3c81d662f199eaa85f did not pass signature check - got 2da58737f99c63f47983db27789cf4b989975220, expected b224eae4f30c011cbe6eae3c81d662f199eaa85f
#<Errno::ENOSPC: No space left on device @ io_write - /var/hda/tmp/amahi-download-cache/3ab7164c607c124b97e08dd25d3a9712afebde2b>, /var/hda/platform/html/lib/downloader.rb:100:in `write', /var/hda/platform/html/lib/downloader.rb:100:in `block in download', /var/hda/platform/html/lib/downloader.rb:100:in `open', /var/hda/platform/html/lib/downloader.rb:100:in `download', /var/hda/platform/html/lib/downloader.rb:50:in `download_and_check_sha1', /var/hda/platform/html/app/models/app.rb:200:in `install_bg', /var/hda/platform/html/script/install-app:86:in `install_or_uninstall', /var/hda/platform/html/script/install-app:107:in `main', /var/hda/platform/html/script/install-app:119:in `<main>'
- Empty the /var/hda/tmp/amahi-download-cache directory.
rm -rf /var/hda/tmp/amahi-download-cache/*
Recipe for Success
There are some recommendation users can follow to help correct or prevent these problems.
DON'T
- Refresh your web browser or navigate from the page while an application is installing.
- Try to install an application after it initially fails. Need to diagnose issue.
DO
- Look at the log for details of why the app install failed.
- View the Dashboard Apps tab, Installed section for the app.
- Check /var/hda/web-apps to ensure the app did not partially install.
- Search the forums for a similar issue and potential solution.
- Visit the IRC, #amahi channel for immediate assistance.
- Submit a bug report. Provide details to help with debugability of the issue.
Clean Up Failed Web App Install
NOTE: We will use owncloud as an example of the application that failed to install.
A web app install was unsuccessful, but it appears partially installed. This often happens and repeatedly trying to install without clean up results in multiple failed attempts. For example, 4 failed attempts of ownCloud would create owncloud, owncloud1, owncloud2, owncloud3.
To return your HDA to a safe state for another install attempt, the following may help:
- Navigate to the Network tab, DNS Aliases section in the Amahi Dashboard
- Make note of the URL name(s)
- Remove each entry for the failed application by selecting Delete
- If the app has a database, execute the following command:
hda-create-db-and-user -d owncloud
- The next steps must be done from the command line as root user:
- Navigate to /etc/httpd/conf.d and determine file(s) to remove ls -al
- Remove each ####-app.conf (substitute the number for #### and URL name for app) file cd /etc/httpd/conf.d rm -rf 1001-owncloud.conf rm -rf 1002-owncloud1.conf rm -rf 1003-owncloud2.conf rm -rf 1004-owncloud3.conf
- Then as root user, restart apache sysemctl restart httpd
- Next, navigate to /var/hda/web-apps cd /var/hda/web-apps
- Remove each app directory rm -rf owncloud rm -rf owncloud1 rm -rf owncloud2 rm -rf owncloud3
- Finally check the HDA database hda_production (webapps table).
- Look to see if there is an entry for each app that failed to install correctly.
- Remove the row(s) that exist for the app (i.e. id 4, 5, 6, and 7)
- EXAMPLE
MariaDB [hda_production]> select id,name from webapps; +----+------------+ | id | name | +----+------------+ | 1 | phpsysinfo | | 4 | owncloud | | 5 | owncloud1 | | 6 | owncloud2 | | 7 | owncloud3 | +----+------------+ 5 rows in set (0.00 sec)
The safest way is to use a web application such as Adminer or phpMyAdmin. TO do it via command line, execute the command below for each id' that needs to be deleted from the database:
echo "delete from webapps where id=2" | mysql -uroot -p hda_production
- WARNING: Please see Database Root Password for the appropriate login password.
Once these steps are complete, it should be safe to try and install the application. Monitor the /var/log/amahi-app-installer.log file for progress and errors via command line:
tail -f /var/log/amahi-app-installer.log
If the app continues to fail, recommend you seek professional assistance by submitting a bug report.
Back to the Troubleshooting.
