Changes

From Amahi Wiki
Jump to: navigation, search
no edit summary
Updated: 07 Jul 2021
=== Database Restore ===
* Install Script:
=== Database Update to UTF8 ===
<pre style="white-space: pre-wrap; word-break: keep-all;">echo "alter database appdb charset=utf8" | mysql -u$HDA_DB_USERNAME -p$HDA_DB_PASSWORD</pre>
=== Large Database Load ===
or
<pre style="white-space: pre-wrap; word-break: keep-all;">mysql --max_allowed_packet=128M -u$HDA_DB_USERNAME -p$HDA_DB_PASSWORD $HDA_DB_DBNAME < app.sql;</pre>
=== Backup App Config on Uninstall ===
find . -name .htaccess -exec mv {} {}.tmp \;
=== Add Server (Service) Feature Functions ===* Install, Enable, and Start:Fedora: install -m 755 appname /etc/init.d/; /sbin/chkconfig appname on; /sbin/Check if service appname start;:Ubuntuis active: install -m 755 appname /etc/init.d/; updatesystemctl is-rc.d appname defaults; active service appname start;* Uninstall, Enable/Disable, and Stop:Fedora: /sbinstart/stop service appname stop;: /sbin/chkconfig appname off; rm systemctl enable --f /etc/init.d/appname;:Ubuntu: now service appname stop; updatesystemctl disable -rc.d -f appname remove; rm -f /etc/init.d/appname;now service* Enable and Start (Fedora)Reload system daemon
echo Reloading systemctl daemon;
systemctl daemon-reload;
echo Enabling appname * Start/Stop/Restart app service; systemctl enable appname.service;
echo Starting appname service;
systemctl start appname.service;
* Disable and Stop (Fedora)
echo Stopping appname service;
systemctl stop appname.service;
echo Disabling Restarting appname service; systemctl disable restart appname.service;* Restart Service if 'active' echo Reloading if [ `systemctl daemonis-active appname.service` == "active" ];then echo Restarting appname.service... systemctl daemon-reload;restart appname.service echo Done! fi
* Change service run level, start, and stop priority:
:Edit the service, i.e. ''/etc/init.d/adito'' and change the parameters (Run level: 0-6, start priority: 1-99, and stop priority: 1-99).
Edit /''etc/httpd/conf.d/####-appname.conf'' file (where '''####''' is a 4 digit number). The web server will require restart to affect the changes.
* Change PHP Settings (add below ''ServerAlias''):
:<blockquote>:<u>Fedora 19/21/23/-25(PHP5)</u>
<pre><Files *.php>
values or flags
</Files></pre>
:<u>Fedora 27or greater (PHP7)</u>
<pre><IfModule mod_php7.c>
values or flags
php_value mbstring.http_output UTF-8
php_value mbstring.encoding_translation On
php_value mbstring.func_overload 6</pre></blockquote>* Displays PHP Modules Installed php -m
* Apache mod_rewrite to allow use of .htaccess for Fedora 19/21/23/25/27 (replace similar lines above ''</Directory>''):
Options Indexes FollowSymLinks MultiViews
===Special Instructions===
* Web Link Syntax:
<a href="<nowiki>http://www.google.com</nowiki>" target="_">Google</a>
* User Log in:
<pre>The administrator login is:<br />
</code>
</blockquote></pre>
* Reference to wiki:
<pre style="white-space: pre-wrap; word-break: keep-all;"><nowiki><b>NOTE:</b> Refer to the <a href="https://wiki.amahi.org/index.php/appname" target="_">appname</a> Amahi wiki page for help in changing the default configuration settings.</nowiki></pre>
===Scripted Functions===
* [[Script_variables|Script Variables]]: environment variables built into the Amahi 7/8 or greater platform 
* Check if file exists:
<nowiki>[[ -f /etc/passwd ]]</nowiki> && echo "File exist" || echo "File does not exist"
 
* Check if directory exists:
[ -d /var/log ] && echo "Directory exist" || echo "Directory does not exist"
 
* Compare files:
<nowikipre style="white-space: pre-wrap; word-break: keep-all;">[[ /etc/resolv.conf -ef /etc/resolv.conf ]]</nowiki> && echo "Same files" || echo "Different Files" <nowiki>[[ /etc/resolv.conf -ef /etc/passwd ]]</nowiki> && echo "Same files" || echo "Different Files"</pre>
* Source file unarchives into ''unpack'' folder:
# Check for unpack folder
mv unpack html;
fi
* Create/Preserve Share
if [ -d /var/hda/files/sharename/ ]; then
echo sharename share exists...files preserved!
else
mkdir -p /var/hda/files/sharename
chown -R $HDA_1ST_ADMIN:users /var/hda/files/sharename
chmod -R 775 /var/hda/files/sharename
echo sharename share created...permissions set!
fi
* Remove Share
echo sharename share files preserved!
echo
echo To remove them, in terminal run:
echo ‘sudo rm -rf /var/hda/files/sharename’
* Network Interface Name:
HDA_DEVICE=`nmcli d | grep 'ethernet' | awk '{print $1;}'`;
or
HDA_DEVICE=`ip route | awk '/^default/ { printf $5 }'`;
or
<pre style="white-space: pre-wrap; word-break: keep-all;">HDA_DEVICE=`ip addr show |grep -w inet |egrep -v '(127.0.0.1|tun|secondary)' |awk '{ print $7}'`</pre>
* Fully Qualified Domain Name:
HSTNM=`hostname -f`
HDADOM=`cat /etc/resolv.conf | grep 'search' | awk '{ print $2 }'`;
:or
<pre style="white-space: pre-wrap; word-break: keep-all;">HDADOM=$(echo "SELECT value FROM settings WHERE name='domain'" | mysql hda_production -uamahihda -pAmahiHDARulez -s)</pre>
* HDA IP Address
<pre style="white-space: pre-wrap; word-break: keep-all;">HDAIP=$(/sbin/ip -o -4 addr list $HDA_DEVICE | awk '{print $4}' | cut -d/ -f1);</pre>
* HDA Broadcast IP
<pre style="white-space: pre-wrap; word-break: keep-all;">HDA_BIP=`ip addr show |grep -w inet |egrep -v '(127.0.0.1|tun)' |awk '{ print $4}'`</pre>
* HDA MAC Address
HDA_MAC=`ip addr show | grep -w ether | awk '{ print $2 }'`
* HDA Netmask
<pre style="white-space: pre-wrap; word-break: keep-all;">HDA_NET=`ip addr show |grep -w inet |egrep -v '(127.0.0.1|tun)' |awk '{ print $2}'| cut -d "/" -f 2`</pre>
* HDA Subnet
<pre style="white-space: pre-wrap; word-break: keep-all;">HDA_SUB=`netstat -r |egrep -v '(Kernel|Destination|default|10|docker0)' |awk '{ print $1}'`</pre>
* First Admin User:
FUSER=`/var/hda/platform/html/script/first-admin`
:or
<pre style="white-space: pre-wrap; word-break: keep-all;">FUSER=$(echo "SELECT login FROM users WHERE admin=1 ORDER BY id ASC LIMIT 1" | mysql hda_production -uamahihda -pAmahiHDARulez -s)* Arch (32- or 64-bit): ARCH=`getconf LONG_BIT` if [ "$ARCH" = "64" ]; then # 64-bit else # 32-bit fi</pre>
* Check OS Version:
<pre style="white-space: pre-wrap; word-break: keep-all;">FVER=`cat /etc/fedora-release | awk -F'release ' '{print $2}' | sed 's/(Laughlin)//'`;</pre>
if [ $FVER == '14' ]; then
...
fi
:or
<pre style="white-space: pre-wrap; word-break: keep-all;"> FVER=`cat /etc/fedora-release | awk -F'release ' '{print $2}' | sed 's/(Verne)//'`;
if [ $FVER == '16' ]; then
...
fi</pre>* Install Ubuntu (DEB) or Fedora (RPM) package
if [ -f /etc/fedora-release ]; then
yum localinstall -y package.rpm --nogpgcheck
fi
 
if [ -f /etc/lsb-release ]; then
dpkg -i package.deb
fi
rm -rf elevated;
===MiscellaneousSED One-Liners===* Retrieve System Information apaste --sysinfo
* Update application domain:
sed -i 's|<nowiki>http://app</nowiki>|<nowiki>http://app</nowiki>.'"$HDA_DOMAIN"'|' app.sql;
* Replace string in files
find ./ -type f -exec sed -i 's/string1/string2/' {} \;
* Suppress Console Output (to include errors):
command &> /dev/null 2>&1
* Kill process:
kill $(ps -gaux | grep 'process name' | awk '{print $2}')
* Remove blank lines from file:
sed -i '/^$/d' filename
* Replace text with variable:
sed -i 's/text/'$VARIABLE'/' filename;
 
===Web Stuff===
* Web Link Syntax:
<a href="<nowiki>http://www.google.com</nowiki>" target="_">Google</a>
* Redirect to specific URL (change ''url='' to desired path (i.e. <nowiki>http://appname/appdirectory</nowiki>):
<pre style="white-space: pre-wrap; word-break: keep-all;">echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Your Page Title</title>
<meta http-equiv="REFRESH" content="0;url=http://www.the-domain-you-want-to-redirect-to.com"></HEAD>
<BODY>
Optional page text here.
</BODY>
</HTML>' > html/index.html
chown apache:users html/index.html</pre>
* Redirect to specific PHP file (change ''app.php'' to desired file):
<pre>cat > html/index.php << 'EOF'
<?php include("app.php") ?>
EOF</pre>
* Amahi Advanced User Warning
<pre style="white-space: pre-wrap; word-break: keep-all;"><p style="border:3px; border-style:solid; border-color:#FF0000; padding: 1em;"> <b>WARNING:</b> This application is designed for advanced users and should be used with caution. Use could disrupt and alter your server functionality. This application is not endorsed or officially supported by Amahi.</p></pre>
* Wiki collapsible code
:Select ''Item Collapse''
<div class="mw-collapsible mw-collapsed" data-collapsetext="{{int:screenshot}}" style="width:400px">
:This is a test.
</div><br \>
<pre>
Select ''Item Collapse''
<div class="mw-collapsible mw-collapsed" data-collapsetext="{{int:screenshot}}" style="width:400px">
This is a test.
</div><br \>
</pre>
* Restrict <nowiki><pre></nowiki> Width
<nowiki><pre style="white-space: pre-wrap; word-break: keep-all;">text</pre></nowiki>
 
===Miscellaneous===
* Extract files to path...preserving unchanged or newer files
tar -xzpf file -C path --keep-newer-files
* Retrieve System Information
apaste --sysinfo
* Replace string in files
find ./ -type f -exec sed -i 's/string1/string2/' {} \;
* Suppress Console Output (to include errors):
command &> /dev/null 2>&1
* Kill process:
kill $(ps -gaux | grep 'process name' | awk '{print $2}')
* Patch Comment:
# FIXME - this needs to be hosted in dl.amahi.org prior to going live!
* Run as First Admin User:
<pre>su $FUSER -c command</pre>
* Redirect to specific URL (change ''url='' to desired path (i.e. <nowiki>http://appname/appdirectory</nowiki>):Change ownership of symbolic link<pre>echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><title>Your Page Title</title><meta http chown -equiv="REFRESH" content="0;url=httph username:users /var/www.the-domain-you-want-to-redirect-to.com"></HEAD><BODY>Optional page text here.</BODY></HTML>' > html/index.htmlchown apache:users htmlhda/index.html<files/pre>share
===Netboot [[Netboot_Template|App Template]]===
# Run ExecStartPre with root-permissions
PermissionsStartOnly=true
ExecStartPre=-/usr/bin/mkdir -p /var/run/dhis
ExecStartPre=/usr/bin/chown -R nobody:nobody /var/run/dhis/
# Run ExecStart with User=nobody / Group=nobody
* Platform ([https://bugs.amahi.org/issues/1386 Bug #1386])
=== Wiki Collapsible Code ===
<ul>
<li>Select ''Item Collapse''
<div class="mw-collapsible mw-collapsed" style="width:400px">
This is a test.
</div><br></li>
</ul>
<pre>
<ul>
<li>Select ''Item Collapse''
<div class="mw-collapsible mw-collapsed" style="width:400px">
This is a test.
</div><br></li>
</ul>
</pre>
12,424

edits