Changes

Jump to navigation Jump to search
5,661 bytes added ,  21:27, 24 July 2017
m
Line 1: Line 1:  +
 +
=== Version ===
 +
{{ #smeversion: smeserver-lazy_admin_tools}}
 +
 +
 
===Description===
 
===Description===
 
The Lazy Administrator's Tools is a set of scripts designed to automate batch tasks and administration jobs for SME servers. Currently the following tools are available:
 
The Lazy Administrator's Tools is a set of scripts designed to automate batch tasks and administration jobs for SME servers. Currently the following tools are available:
{{Note box|This HowTo is based on a version created for SME 5.5/5.6/6.0 by [mailto:Michiel.Blotwijk@Altiplano.Be Michiel Blotwijk]. A new version for sme7.x has been created by J Bennett and is the rpm referred to in the Installation section below.
+
{{Note box|This HowTo is based on a version created for SME 5.5/5.6/6.0 by [mailto:Michiel.Blotwijk@Altiplano.Be Michiel Blotwijk]. A new version for sme7.x has been created by J Bennett and is the rpm referred to in the Installation section below. For the SME Server 8 and 9 all binaries are in smecontribs.
    
The original version information can be found [http://mirror.contribs.org/contribs/mblotwijk/Contribs/lazy-admin-tools/ here]}}
 
The original version information can be found [http://mirror.contribs.org/contribs/mblotwijk/Contribs/lazy-admin-tools/ here]}}
Line 10: Line 15:  
!Description
 
!Description
 
|-
 
|-
| [http://mirror.contribs.org/contribs/mblotwijk/Contribs/lazy-admin-tools/man/lat-users.html lat-users] or '''[[lat-users]] on wiki documentation'''
+
| '''[[lat-users]] on wiki documentation'''
 
|add/delete users (and their directories)
 
|add/delete users (and their directories)
 
|-
 
|-
|[http://mirror.contribs.org/contribs/mblotwijk/Contribs/lazy-admin-tools/man/lat-groups.html lat-groups] or '''[[lat-groups]] on wiki documentation'''
+
| '''[[lat-groups]] on wiki documentation'''
 
|add/delete groups
 
|add/delete groups
 
|-
 
|-
|[http://mirror.contribs.org/contribs/mblotwijk/Contribs/lazy-admin-tools/man/lat-pseudonyms.html lat-pseudonyms] or '''[[lat-pseudonyms]] on wiki documentation'''
+
| '''[[lat-pseudonyms]] on wiki documentation'''
 
|add/delete e-mail pseudonyms for individual users
 
|add/delete e-mail pseudonyms for individual users
 
|-
 
|-
|[http://mirror.contribs.org/contribs/mblotwijk/Contribs/lazy-admin-tools/man/lat-ibays.html lat-ibays] or '''[[lat-ibays]] on wiki documentation'''
+
| '''[[lat-ibays]] on wiki documentation'''
 
|add/delete ibays (and its directories)
 
|add/delete ibays (and its directories)
 
|-
 
|-
|[http://mirror.contribs.org/contribs/mblotwijk/Contribs/lazy-admin-tools/man/lat-quota.html lat-quota] or '''[[lat-quota]] on wiki documentation'''
+
|'''[[lat-quota]] on wiki documentation'''
 
|set the disk quota for individual users
 
|set the disk quota for individual users
 
|-
 
|-
|[http://mirror.contribs.org/contribs/mblotwijk/Contribs/lazy-admin-tools/man/lat-procmail.html lat-procmail] or '''[[lat-procmail]] on wiki documentation'''
+
|'''[[lat-procmail]] on wiki documentation'''
 
|activate or deactivate procmail for individual users
 
|activate or deactivate procmail for individual users
 
|-
 
|-
|[http://mirror.contribs.org/contribs/mblotwijk/Contribs/lazy-admin-tools/man/lat-hosts.html lat-hosts] or '''[[lat-hosts]] on wiki documentation'''
+
|'''[[lat-hosts]] on wiki documentation'''
 
|add hostnames to the server
 
|add hostnames to the server
 
|-
 
|-
|[http://mirror.contribs.org/contribs/mblotwijk/Contribs/lazy-admin-tools/man/lat-pptp.html lat-pptp] or '''[[lat-pptp]] on wiki documentation'''
+
|'''[[lat-pptp]] on wiki documentation'''
 
|activate or deactivate pptp access for individualusers
 
|activate or deactivate pptp access for individualusers
 
|-
 
|-
|[http://mirror.contribs.org/contribs/mblotwijk/Contribs/lazy-admin-tools/man/lat-domains.html lat-domains] or '''[[lat-domains]] on wiki documentation'''
+
| '''[[lat-domains]] on wiki documentation'''
 
|create virtual domains
 
|create virtual domains
 
|-
 
|-
|[http://mirror.contribs.org/contribs/mblotwijk/Contribs/lazy-admin-tools/man/lat-dump.html lat-dump] or '''[[lat-dump]] on wiki documentation'''
+
| '''[[lat-dump]] on wiki documentation'''
 
|create input files for the above, using the configuration files of the SME servers.
 
|create input files for the above, using the configuration files of the SME servers.
 
|-
 
|-
 +
| '''[[lat-shadow]] on wiki documentation'''
 +
|transfer crypted password from a SME Server to another
 
|}
 
|}
   −
{{Warning box|msg=SME Server 7.x supports the use of '@' in pseudonyms, but '''lat-pseudonym''' does not by default. See this [http://forums.contribs.org/index.php?topic=37885.msg170809#msg170809 forum post] for a work-around.}}
+
{{Warning box|msg=SME Server 7.x supports the use of '@' in pseudonyms, but '''lat-pseudonym''' does not by default. See this [http://forums.contribs.org/index.php?topic=37885.msg170809#msg170809 forum post] for a work-around. SME8 and SME9 version are able to handle the @ in pseudonyms.}}
    
===Installation===
 
===Installation===
====Smecontribs repository for SME Server 8.0====
+
====Smecontribs repository for SME Server 8.0 and newer====
   −
  yum install --enablerepo=smecontribs smeserver-lazy_admin_tools
+
  yum install --enablerepo=smecontribs smeserver-lazy_admin_tools smeserver-userpanel smeserver-mailsorting
 
  signal-event post-upgrade; signal-event reboot
 
  signal-event post-upgrade; signal-event reboot
  −
====Obsolete way to install====
  −
Download and install using the following commands:
  −
cd /tmp
  −
<nowiki>wget  http://www.sme-server.de/download/sme7/contribs/smeserver-lazy_admin_tools-0.9.1-2.noarch.rpm</nowIki>
  −
yum localinstall smeserver-lazy_admin_tools-0.9.1-2.noarch.rpm
  −
  −
More information, examples, and source code can be downloaded from http://mirror.contribs.org/contribs/mblotwijk/Contribs/lazy-admin-tools/
      
====Upgrade notes====
 
====Upgrade notes====
Line 75: Line 74:     
4.  See the various examples in /usr/doc/lazy-admin-tools for the format of the input file.
 
4.  See the various examples in /usr/doc/lazy-admin-tools for the format of the input file.
 +
 +
====Easy Scripting====
 +
 +
The purpose is to made an easy and quick script to play with the lazzy admin tools when you want to add a user
 +
 +
nano script-lazy
 +
 +
 +
#!/bin/bash
 +
 +
read -p "set the  login (mandatory field)        : " login
 +
 +
read -p "set the firstname (mandatory field)      : " firstname
 +
 +
read -p "set the lastname (mandatory field)      : " lastname
 +
 +
read -p "set the password                        : " password
 +
 +
read -p "set the first group                      : " group1
 +
 +
read -p "set the second group                    : " group2
 +
 +
read -p "set the Limit with grace period (M or G) : " quota1
 +
 +
read -p "set the Absolute limit          (M or G) : " quota2
 +
 +
lat-users -a -c "$login|$firstname|$lastname|$password|||||||||$group1|$group2"
 +
lat-quota -c "$login|$quota1|$quota2"
 +
 +
read -p "Do you want to launch it again, then type enter, else ctrl+c: "
 +
 +
/usr/bin/script-lazy
 +
 +
Or this one if you want to have some default values.
 +
 +
#!/bin/bash
 +
 +
read -p "set the  login (mandatory field)        : " login
 +
 +
read -p "set the firstname (mandatory field)      : " firstname
 +
 +
read -p "set the lastname (mandatory field)      : " lastname
 +
 +
read -p "set the password                        : " password
 +
 +
group1='bpa_tap_adultes'
 +
group2='eleves'
 +
quota1='150M'
 +
quota2='152M'
 +
 +
lat-users -a -c "$login|$firstname|$lastname|$password|||||||||$group1|$group2"
 +
lat-quota -c "$login|$quota1|$quota2"
 +
 +
read -p "Do you want to launch it again, then type enter, else ctrl+c: "
 +
 +
/usr/bin/script-lazy
 +
 +
Then
 +
 +
chmod 755 script-lazy
 +
mv script-lazy /usr/bin
 +
 +
to launch the script then do
 +
 +
script-lazy
 +
 +
As you can see this is a quick example of what you can do with this contribs, you can take this as an example for all your needs.
 +
 +
===Server Migration===
 +
====Migrate user accounts to a new server====
 +
Perhaps your SME server was first installed in 2005 or earlier, and has suffered at your hands over the years as you tested add-ons, contribs, and procedures. 
 +
 +
The time has come to start fresh -- but you don't want to have to reconfigure all of your users' computers, phones, tablets, etc.
 +
 +
Using Lazy Admin Tools, you can migrate your user accounts to a shiny new server -- with their existing passwords.  Transferring their existing email folders is also relatively simple.
 +
 +
Assumptions:
 +
* Existing SME server '''legacySME'''
 +
** ssh access enabled using port xxx
 +
** IP address is legacySME_IP
 +
* Existing or newly installed SME server '''newSME'''
 +
** use the same domain name that was used by '''legacySME'''
 +
** disable DHCP
 +
 +
Results:
 +
* User accounts and passwords from '''legacySME''' will be created on '''newSME'''
 +
:(optionally transfer user files and email)
 +
* Users' devices will have access to email on '''newSME''' without any reconfiguration
 +
 +
 +
;1. On '''legacySME'''
 +
: Create Lazy Admin Tools backup files
 +
<div style="margin-left: 2em;">
 +
<nowiki>mkdir /root/lat
 +
cd /root/lat
 +
lat-dump -d</nowiki>
 +
</div>
 +
 +
;2. On '''newSME'''
 +
: Copy the files from '''legacySME'''
 +
: (scp uses an uppercase "P" to specify the ssh port number)
 +
<div style="margin-left: 2em;">
 +
<nowiki>mkdir /root/lat
 +
scp -P xxx root@legacySME_IP:/root/lat/* /root/lat</nowiki>
 +
</div>
 +
 +
: Restore the user accounts and passwords from '''legacySME''' on '''newSME'''
 +
:: lat-dump from '''legacySME''' created a file called ''lat-restore'' that shows the commands required to restore everything that was backed up.  To create the user accounts from '''legacySME''' on '''newSME''' you need to run the ''lat-users'' and ''lat-shadow'' commands.  The commands below will execute these two commands, but you could also review the contents of ''lat-restore'' and run these two commands manually.
 +
<div style="margin-left: 2em;">
 +
<nowiki>$(grep lat-users lat-restore)
 +
$(grep lat-shadow lat-restore)</nowiki>
 +
</div>
 +
 +
: Optional - transfer users' files (including email)
 +
::The commands below will transfer all of the user files and email from '''legacySME''' to '''newSME'''
 +
::(ssh uses a lowercase "p" when specifying the port number)
 +
<div style="margin-left: 2em;">
 +
<nowiki># get the user files and folders from the old server
 +
rsync -rltzq -e "ssh -p xxx" "root@legacySME_IP:/home/e-smith/files/users/" "/home/e-smith/files/users/"
 +
#
 +
# fix file ownership for all users
 +
cd /home/e-smith/files/users
 +
for f in *; do chown -R $f:$f $f; done</nowiki>
 +
</div>
 +
 +
;3. Cleanup
 +
* On '''legacySME'''
 +
** Turn it off and disconnect it
 +
*: or
 +
** Run <tt>su admin</tt> and:
 +
*** Change the hostname
 +
*** Change the IP address
 +
*** Disable DHCP (if it is enabled)
 +
* On '''newSME'''
 +
** Run <tt>su admin</tt> and:
 +
*** Change the hostname to '''legacySME''' (the original name of the old server)
 +
*** Change the IP address to '''legacySME_IP'''
 +
*** Enable DHCP (if it was enabled on '''legacySME''')
 +
* Other Considerations
 +
** SSL Certificates
 +
*: If you had a commercial or LetsEncrypt certificate on '''legacySME''', you will need to set it up on the new server, too.
 +
** Repeated data transfers
 +
*: The <tt>rsync</tt> command shown above does *not* delete files from '''newSME''' that have been deleted from '''legacySME'''.  If you choose to do the process above, test the new server, then repeat the data transfer -- your users will see some emails returned to their inbox that they had filed or deleted. To prevent this, add "-delete-before" to the rsync command:
 +
*:<tt>rsync -rltzq -delete-before -e "ssh -p xxx" "root@legacySME:/home/e-smith/files/users/" "/home/e-smith/files/users/"</tt>
 +
**'''legacySME''' vs '''legacySME_IP'''
 +
*: Since '''newSME''' is using the same domain name as '''legacySME''', it will not find '''legacySME''' by name unless you add it in server-manager as a host.  If you do that, you'll also have to delete that entry before renaming '''newSME''' at the end.  It is easier to use the '''legacySME_IP''' for scp and rsync.
    
===Forum References===
 
===Forum References===
Line 81: Line 226:     
== Known issues==
 
== Known issues==
 +
 +
=== Users from SME 8.0 ===
 +
In issue [https://forums.contribs.org/index.php/topic,53238.msg275866.html#msg275866 lat tools on SME 9.2], gsimpson reporte that user accounts on the new SME server were locked and needed the password reset. mmccarn replied that running the following resolved the issue.
 +
 +
<div style="margin-left: 2em;"><pre>
 +
# force password restore from SME 8.2
 +
cd /root/lat-dump
 +
/usr/sbin/lat-shadow -a -i=mail.shadow -f
 +
signal-event post-upgrade; signal-event reboot</pre>
 +
</div>
    
===Large user database===
 
===Large user database===
   −
it has been reported that large user imports might be really long ( 60s per user in SME server already containing 4000 users) (see http://bugs.contribs.org/show_bug.cgi?id=7545).
+
it has been reported that large user imports might be really long ( 60s per user in SME server already containing 4000 users) (see [[bugzilla:7545]]).
 
This script is using sme internal processing. The purpose of doing so is to do everything that is included by other contribs.
 
This script is using sme internal processing. The purpose of doing so is to do everything that is included by other contribs.
   Line 93: Line 248:  
- or temporally remove the link inside the events to this two scripts and create them back after import.  
 
- or temporally remove the link inside the events to this two scripts and create them back after import.  
   −
and revert bacj theses change after importation and then running the signal event once (user-modify)
+
and revert back theses change after importation and then running the signal event once (user-modify)
 +
 
 +
 
 +
===Man page are not up to date===
 +
 
 +
Some update is needed for lat-users, lat-procmail and lat-shadow. First is missing -n option, second is stating -a option that in fact does not exist, and third is not working. see [[Bugzilla:7702]]
    
=== Bugs ===
 
=== Bugs ===
 
Please raise bugs under the SME-Contribs section in [http://bugs.contribs.org/enter_bug.cgi bugzilla]
 
Please raise bugs under the SME-Contribs section in [http://bugs.contribs.org/enter_bug.cgi bugzilla]
and select the e-smith-lazy_admin_tools component or use {{BugzillaFileBug|product=SME%20Contribs|component=e-smith-lazy_admin_tools|title=this link}}.  
+
and select the e-smith-lazy_admin_tools component or use {{BugzillaFileBug|product=SME%20Contribs|component=smeserver-lazy_admin_tools|title=this link}}.  
 +
 
 +
 
 +
{{#bugzilla:columns=id,product,version,status,summary |sort=id |order=desc |component=smeserver-lazy_admin_tools|noresultsmessage="No open bugs found."}}
 +
 
 +
===Changelog===
 +
Only released version in smecontrib are listed here.
 +
 
 +
{{ #smechangelog: smeserver-lazy_admin_tools}}
       
[[Category: Contrib]] [[Category:Howto]] [[Category:Administration]]
 
[[Category: Contrib]] [[Category:Howto]] [[Category:Administration]]
81

edits

Navigation menu