Line 11: |
Line 11: |
| perl createlinks | | perl createlinks |
| | | |
− | ==== Example 1 ==== | + | ==== Example ==== |
| #!/usr/bin/perl -w | | #!/usr/bin/perl -w |
| | | |
Line 50: |
Line 50: |
| event_link("yum-check-repository", "yum-update", "40"); | | event_link("yum-check-repository", "yum-update", "40"); |
| | | |
− | [[Category:Howto]]
| + | ==== Example : smeserver-Sme8admin==== |
| + | #! /usr/bin/perl -w |
| + | |
| + | use esmith::Build::CreateLinks qw(:all); |
| + | |
| + | # Start and stop links |
| + | service_link_enhanced("sme8admind", "S99", "7"); |
| + | service_link_enhanced("sme8admind", "K97", "6"); |
| + | service_link_enhanced("sme8admind", "K20", "0"); |
| + | service_link_enhanced("sme8admind", "K20", "1"); |
| + | |
| + | # Links for the panel |
| + | panel_link("sme8admin", "manager"); |
| + | #system("mkdir -p root/etc/e-smith/web/panels/manager/html/sme8admin"); |
| + | safe_symlink("/etc/e-smith/web/panels/manager/html/sme8admin", "root/etc/e-smith/web/panels/user/html/sme8admin"); |
| + | |
| + | # Logrotate |
| + | event_link("sme8admin-parselog","logrotate","15"); |
| + | |
| + | ==== Example : smeserver-sharedfolder==== |
| + | #!/usr/bin/perl -w |
| + | |
| + | use esmith::Build::CreateLinks qw(:all); |
| + | |
| + | #-------------------------------------------------- |
| + | # functions for manager panel |
| + | #-------------------------------------------------- |
| + | my $panel = "manager"; |
| + | |
| + | panel_link("shares", $panel); |
| + | panel_link("userpanel-encfs", $panel); |
| + | |
| + | #-------------------------------------------------- |
| + | # actions for group-delete and user-delete events |
| + | #-------------------------------------------------- |
| + | |
| + | foreach my $event (qw/group-delete user-delete/) { |
| + | event_link("group-share-modify", $event, "10"); |
| + | } |
| + | |
| + | #-------------------------------------------------- |
| + | # actions for share-delete event |
| + | #-------------------------------------------------- |
| + | |
| + | $event = "share-delete"; |
| + | |
| + | event_link("share-delete", $event, "15"); |
| + | |
| + | foreach my $event (qw(share-create share-modify share-modify-files)){ |
| + | event_link("share-modify", $event, "15"); |
| + | } |
| + | |
| + | foreach my $event (qw(share-create share-modify share-delete share-modify-servers)){ |
| + | templates2events("/etc/samba/smb.conf", $event); |
| + | templates2events("/etc/httpd/conf/httpd.conf", $event); |
| + | templates2events("/etc/rsyncd.conf", $event); |
| + | templates2events("/etc/proftpd.conf", $event); |
| + | safe_symlink("sighup", "root/etc/e-smith/events/$event/services2adjust/smbd"); |
| + | safe_symlink("sigusr1", "root/etc/e-smith/events/$event/services2adjust/httpd-e-smith"); |
| + | safe_symlink("restart", "root/etc/e-smith/events/$event/services2adjust/rsyncd"); |
| + | safe_symlink("sigusr1", "root/etc/e-smith/events/$event/services2adjust/ftp"); |
| + | } |
| + | |
| + | #-------------------------------------------------- |
| + | # actions for group-modify event |
| + | #-------------------------------------------------- |
| + | |
| + | $event = 'group-modify'; |
| + | |
| + | templates2events("/etc/httpd/conf/httpd.conf", $event); |
| + | safe_symlink("sigusr1", "root/etc/e-smith/events/$event/services2adjust/httpd-e-smith"); |
| + | |
| + | templates2events("/etc/fstab", "post-upgrade"); |
| + | |
| + | safe_touch("root/etc/e-smith/templates/etc/smb.conf/shares/template-begin"); |
| + | |
| + | safe_touch("root/var/service/rsyncd/down"); |
| + | service_link_enhanced("rsyncd", "S95", "7"); |
| + | service_link_enhanced("rsyncd", "K05", "6"); |
| + | service_link_enhanced("rsyncd", "K05", "0"); |
| + | safe_symlink("../daemontools" , 'root/etc/rc.d/init.d/supervise/rsyncd'); |
| + | safe_symlink("/var/service/rsyncd" , 'root/service/rsyncd'); |
| + | |
| + | templates2events("/etc/rsyncd.conf", "bootstrap-console-save"); |
| + | templates2events("/etc/rsyncd.conf", "remoteaccess-update"); |
| + | |
| + | ==== Example : smeserver-denyhost ==== |
| + | |
| + | #!/usr/bin/perl -w |
| + | |
| + | use esmith::Build::CreateLinks qw(:all); |
| + | |
| + | panel_link("denyhosts", "manager"); |
| + | |
| + | service_link_enhanced("denyhosts", "S01", "7"); |
| + | |
| + | safe_symlink('restart', "root/etc/e-smith/events/conf-denyhosts/services2adjust/denyhosts"); |
| + | |
| + | foreach $file ( |
| + | qw(/var/lib/denyhosts/allowed-hosts /etc/hosts.allow /etc/denyhosts.conf)) |
| + | { |
| + | templates2events($file, qw(bootstrap-console-save conf-denyhosts)); |
| + | } |
| + | |
| + | exit 0; |
| + | |
| + | ==== Example : smeserver-roundcube ==== |
| + | |
| + | #!/usr/bin/perl -w |
| + | |
| + | use esmith::Build::CreateLinks qw(:all); |
| + | |
| + | for my $event (qw( |
| + | bootstrap-console-save |
| + | conf-roundcube |
| + | post-upgrade |
| + | )) |
| + | { |
| + | templates2events("/opt/roundcube/config/db.inc.php", $event); |
| + | templates2events("/opt/roundcube/config/main.inc.php", $event); |
| + | templates2events("/etc/e-smith/sql/init/80roundcube", $event); |
| + | } |
| + | |
| + | for my $event (qw( |
| + | conf-roundcube |
| + | )) |
| + | { |
| + | templates2events("/etc/httpd/conf/httpd.conf", $event); |
| + | safe_symlink("restart", "root/etc/e-smith/events/$event/services2adjust/mysql.init");; |
| + | safe_symlink("sigusr1", "root/etc/e-smith/events/$event/services2adjust/httpd-e-smith"); |
| + | } |
| + | |
| + | ==== Example : smeserver-yum ==== |
| + | #!/usr/bin/perl -w |
| + | |
| + | use esmith::Build::CreateLinks qw(:all); |
| + | use File::Basename; |
| + | use File::Path; |
| + | |
| + | foreach my $file (qw(/etc/yum.conf)) |
| + | { |
| + | templates2events($file, qw(yum-modify bootstrap-console-save)); |
| + | } |
| + | |
| + | templates2events("/etc/crontab", "yum-modify"); |
| + | |
| + | for ( qw(install remove update) ) |
| + | { |
| + | event_link("yum-action", "yum-$_", "20"); |
| + | event_link("initialize-default-databases", "yum-$_", "50"); |
| + | event_link("navigation-conf", "yum-$_", "80"); |
| + | } |
| + | |
| + | for ( qw(install remove update modify) ) |
| + | { |
| + | event_link("yum-update-dbs", "yum-$_", "90"); |
| + | } |
| + | |
| + | for ( qw(bootstrap-console-save yum-update) ) |
| + | { |
| + | event_link("yum-import-keys", $_, "10"); |
| + | } |
| + | |
| + | safe_symlink("once", "root/etc/e-smith/events/local/services2adjust/yum"); |
| + | |
| + | #-------------------------------------------------- |
| + | # functions for manager panel |
| + | #-------------------------------------------------- |
| + | panel_link("yum", "manager"); |
| + | |
| + | ==== Example : smeserver-phplist ==== |
| + | #!/usr/bin/perl -w |
| + | |
| + | use esmith::Build::CreateLinks qw(:all); |
| + | |
| + | templates2events("/etc/e-smith/sql/init/phplistdb", qw/webapps-update bootstrap-console-save/); |
| + | templates2events("/etc/phplist/config.php", qw/webapps-update bootstrap-console-save/); |
| + | |
| + | safe_symlink("/var/qmail/bin/qmail-newu", "root/etc/e-smith/events/webapps-update/S55phplist-qmail-assign"); |
| + | foreach my $event (qw/webapps-update ipasserelle-update bootstrap-ldap-save/){ |
| + | event_link("phplist-create-pseudo", "$event", "55"); |
| + | } |
| + | |
| + | safe_symlink("/etc/e-smith/templates-default/template-begin-php", "root/etc/e-smith/templates/etc/phplist/config.php/template-begin"); |
| + | safe_symlink("/etc/e-smith/templates-default/template-end-php", "root/etc/e-smith/templates/etc/phplist/config.php/template-end"); |
| + | |
| + | safe_symlink("/var/qmail/alias/.qmail-phplistbounces", "root/var/qmail/alias/.qmail-phplistbounces-default"); |
| + | |
| + | safe_symlink("../daemontools" , 'root/etc/rc.d/init.d/supervise/phplist'); |
| + | safe_symlink("/var/service/phplist" , 'root/service/phplist'); |
| + | safe_touch("root/var/service/phplist/down"); |
| + | safe_symlink("restart", "root/etc/e-smith/events/webapps-update/services2adjust/phplist"); |
| + | |
| + | service_link_enhanced('phplist', 'S98', '7'); |
| + | service_link_enhanced('phplist', 'K12', '6'); |
| + | service_link_enhanced('phplist', 'K12', '0'); |
| + | |
| + | safe_touch("root/var/lib/phplist/bounces.mbox"); |
| + | |
| [[Category:SME Server Development Framework]] | | [[Category:SME Server Development Framework]] |
| [[Category:Development Tools]] | | [[Category:Development Tools]] |
| [[Category:SME9-Development]] | | [[Category:SME9-Development]] |