|
@@ -81,11 +81,6 @@ OWNCLOUD_ARCHIVE="owncloud-7.0.2.tar.bz2"
|
81
|
81
|
OWNCLOUD_DOWNLOAD="https://download.owncloud.org/community/$OWNCLOUD_ARCHIVE"
|
82
|
82
|
OWNCLOUD_HASH="ea07124a1b9632aa5227240d655e4d84967fb6dd49e4a16d3207d6179d031a3a"
|
83
|
83
|
|
84
|
|
-# You should either change this before running the script
|
85
|
|
-# or change it later with:
|
86
|
|
-# prosodyctl new_password myusername@mydomainname.com
|
87
|
|
-XMPP_PASSWORD="temppwd"
|
88
|
|
-
|
89
|
84
|
GPG_KEYSERVER="hkp://keys.gnupg.net"
|
90
|
85
|
|
91
|
86
|
# optionally you can provide your exported GPG key pair here
|
|
@@ -713,6 +708,23 @@ function configure_firewall_for_xmpp {
|
713
|
708
|
echo 'configure_firewall_for_xmpp' >> $COMPLETION_FILE
|
714
|
709
|
}
|
715
|
710
|
|
|
711
|
+function configure_firewall_for_irc {
|
|
712
|
+ if [ ! -d /etc/ngircd ]; then
|
|
713
|
+ return
|
|
714
|
+ fi
|
|
715
|
+ if grep -Fxq "configure_firewall_for_irc" $COMPLETION_FILE; then
|
|
716
|
+ return
|
|
717
|
+ fi
|
|
718
|
+ if [[ $INSTALLED_WITHIN_DOCKER == "yes" ]]; then
|
|
719
|
+ # docker does its own firewalling
|
|
720
|
+ return
|
|
721
|
+ fi
|
|
722
|
+ iptables -A INPUT -i eth0 -p tcp --dport 6697 -j ACCEPT
|
|
723
|
+ iptables -A INPUT -i eth0 -p tcp --dport 9999 -j ACCEPT
|
|
724
|
+ save_firewall_settings
|
|
725
|
+ echo 'configure_firewall_for_irc' >> $COMPLETION_FILE
|
|
726
|
+}
|
|
727
|
+
|
716
|
728
|
function configure_firewall_for_ftp {
|
717
|
729
|
if grep -Fxq "configure_firewall_for_ftp" $COMPLETION_FILE; then
|
718
|
730
|
return
|
|
@@ -1729,14 +1741,53 @@ function install_xmpp {
|
1729
|
1741
|
sed -i 's/authentication = "internal_plain"/authentication = "internal_hashed"' /etc/prosody/prosody.cfg.lua
|
1730
|
1742
|
|
1731
|
1743
|
service prosody restart
|
|
1744
|
+ XMPP_PASSWORD=$(openssl rand -base64 8)
|
1732
|
1745
|
prosodyctl register $MY_USERNAME $DOMAIN_NAME $XMPP_PASSWORD
|
1733
|
|
- echo 'Change your XMPP password using:' >> /home/$MY_USERNAME/README
|
|
1746
|
+ echo "Your XMPP password is: $XMPP_PASSWORD" >> /home/$MY_USERNAME/README
|
|
1747
|
+ echo 'You can change it with: ' >> /home/$MY_USERNAME/README
|
1734
|
1748
|
echo '' >> /home/$MY_USERNAME/README
|
1735
|
1749
|
echo " prosodyctl new_password $MY_USERNAME@$DOMAIN_NAME" >> /home/$MY_USERNAME/README
|
1736
|
1750
|
chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
|
1737
|
1751
|
echo 'install_xmpp' >> $COMPLETION_FILE
|
1738
|
1752
|
}
|
1739
|
1753
|
|
|
1754
|
+function install_irc_server {
|
|
1755
|
+ if [[ $SYSTEM_TYPE == "writer" || $SYSTEM_TYPE == "email" || $SYSTEM_TYPE == "mailbox" || $SYSTEM_TYPE == "cloud" || $SYSTEM_TYPE == "social" ]]; then
|
|
1756
|
+ return
|
|
1757
|
+ fi
|
|
1758
|
+ if grep -Fxq "install_irc_server" $COMPLETION_FILE; then
|
|
1759
|
+ return
|
|
1760
|
+ fi
|
|
1761
|
+ apt-get -y --force-yes install ngircd
|
|
1762
|
+ makecert ngircd
|
|
1763
|
+
|
|
1764
|
+ echo '**************************************************' > /etc/ngircd/motd
|
|
1765
|
+ echo '* F R E E D O M B O N E I R C *' >> /etc/ngircd/motd
|
|
1766
|
+ echo '* *' >> /etc/ngircd/motd
|
|
1767
|
+ echo '* Freedom in the Cloud *' >> /etc/ngircd/motd
|
|
1768
|
+ echo '**************************************************' >> /etc/ngircd/motd
|
|
1769
|
+ sed -i 's|MotdFile = /etc/ngircd/ngircd.motd|MotdFile = /etc/ngircd/motd|g' /etc/ngircd/ngircd.conf
|
|
1770
|
+ sed -i "s/irc@irc.example.com/$MY_USERNAME@$DOMAIN_NAME/g" /etc/ngircd/ngircd.conf
|
|
1771
|
+ sed -i "s/irc.example.net/$DOMAIN_NAME/g" /etc/ngircd/ngircd.conf
|
|
1772
|
+ sed -i "s|Yet another IRC Server running on Debian GNU/Linux|IRC Server of $DOMAIN_NAME|g" /etc/ngircd/ngircd.conf
|
|
1773
|
+ sed -i 's/;Password = wealllikedebian/Password =/g' /etc/ngircd/ngircd.conf
|
|
1774
|
+ sed -i 's|;CertFile = /etc/ssl/certs/server.crt|CertFile = /etc/ssl/certs/ngircd.crt|g' /etc/ngircd/ngircd.conf
|
|
1775
|
+ sed -i 's|;DHFile = /etc/ngircd/dhparams.pem|DHFile = /etc/ssl/certs/ngircd.dhparam|g' /etc/ngircd/ngircd.conf
|
|
1776
|
+ sed -i 's|;KeyFile = /etc/ssl/private/server.key|KeyFile = /etc/ssl/private/ngircd.key|g' /etc/ngircd/ngircd.conf
|
|
1777
|
+ sed -i 's/;Ports = 6697, 9999/Ports = 6697, 9999/g' /etc/ngircd/ngircd.conf
|
|
1778
|
+ sed -i 's/;Name = #ngircd/Name = #freedombone/g' /etc/ngircd/ngircd.conf
|
|
1779
|
+ sed -i 's/;Topic = Our ngircd testing channel/Topic = Freedombone chat channel/g' /etc/ngircd/ngircd.conf
|
|
1780
|
+ sed -i 's/;MaxUsers = 23/MaxUsers = 23/g' /etc/ngircd/ngircd.conf
|
|
1781
|
+ sed -i 's|;KeyFile = /etc/ngircd/#chan.key|KeyFile = /etc/ngircd/#freedombone.key|g' /etc/ngircd/ngircd.conf
|
|
1782
|
+ sed -i 's/;CloakHost = cloaked.host/CloakHost = cloaked.host/g' /etc/ngircd/ngircd.conf
|
|
1783
|
+ sed -i "s/;CloakHostSalt = abcdefghijklmnopqrstuvwxyz/CloakHostSalt = $(openssl rand -base64 64)/g" /etc/ngircd/ngircd.conf
|
|
1784
|
+ sed -i 's/;ConnectIPv4 = yes/ConnectIPv4 = yes/g' /etc/ngircd/ngircd.conf
|
|
1785
|
+ sed -i 's/;MorePrivacy = no/MorePrivacy = yes/g' /etc/ngircd/ngircd.conf
|
|
1786
|
+ sed -i 's/;RequireAuthPing = no/RequireAuthPing = no/g' /etc/ngircd/ngircd.conf
|
|
1787
|
+ service ngircd restart
|
|
1788
|
+ echo 'install_irc_server' >> $COMPLETION_FILE
|
|
1789
|
+}
|
|
1790
|
+
|
1740
|
1791
|
function install_final {
|
1741
|
1792
|
if grep -Fxq "install_final" $COMPLETION_FILE; then
|
1742
|
1793
|
return
|
|
@@ -1793,6 +1844,8 @@ configure_firewall_for_web_server
|
1793
|
1844
|
install_owncloud
|
1794
|
1845
|
install_xmpp
|
1795
|
1846
|
configure_firewall_for_xmpp
|
|
1847
|
+install_irc_server
|
|
1848
|
+configure_firewall_for_irc
|
1796
|
1849
|
install_final
|
1797
|
1850
|
echo 'Freedombone installation is complete'
|
1798
|
1851
|
exit 0
|