Byla vydána nová verze 25.05.11 svobodného multiplatformního video editoru Shotcut (Wikipedie) postaveného nad multimediálním frameworkem MLT. Nejnovější Shotcut je již vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.
Svobodný elektronický platební systém GNU Taler (Wikipedie, cgit) byl vydán ve verzi 1.0. GNU Taler chrání soukromí plátců a zároveň zajišťuje, aby byl příjem viditelný pro úřady. S vydáním verze 1.0 byl systém spuštěn ve Švýcarsku.
Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 209. brněnský sraz, který proběhne tento pátek 16. května od 18:00 ve studentském klubu U Kachničky na Fakultě informačních technologií Vysokého učení technického na adrese Božetěchova 2/1. Jelikož se Brno stalo jedním z hlavních míst, kde se vyvíjí open source knihovna OpenSSL, tentokrát se OpenAlt komunita potká s komunitou OpenSSL. V rámci srazu Anton Arapov z OpenSSL
… více »GNOME Foundation má nového výkonného ředitele. Po deseti měsících skončil dočasný výkonný ředitel Richard Littauer. Vedení nadace převzal Steven Deobald.
Byl publikován přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie) za uplynulé dva měsíce. Servo zvládne už i Gmail. Zakázány jsou příspěvky generované pomocí AI.
Raspberry Pi Connect, tj. oficiální služba Raspberry Pi pro vzdálený přístup k jednodeskovým počítačům Raspberry Pi z webového prohlížeče, byla vydána v nové verzi 2.5. Nejedná se už o beta verzi.
Google zveřejnil seznam 1272 projektů (vývojářů) od 185 organizací přijatých do letošního, již jednadvacátého, Google Summer of Code. Plánovaným vylepšením v grafických a multimediálních aplikacích se věnuje článek na Libre Arts.
Byla vydána (𝕏) dubnová aktualizace aneb nová verze 1.100 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.100 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.5.
OpenSearch (Wikipedie) byl vydán ve verzi 3.0. Podrobnosti v poznámkách k vydání. Jedná se o fork projektů Elasticsearch a Kibana.
[warn] (104)Connection reset by peer: mod_fcgid: read data from fastcgi server error. [error] [client 78.102.107.216] Premature end of script headers: index.pl [notice] mod_fcgid: process /home/www/perl/index.pl(10633) exit(communication error), terminated by calling exit(), return code: 255Jakákoliv rada jak dosáhnout kýženého výsledku je velmi vítaná, děkuji za ně..
Řešení dotazu:
<VirtualHost *:80> ServerName perl.domain.tld DocumentRoot /home/www/domain.tld/perl/ SuexecUserGroup domain domain AddHandler cgi-script .pl SetHandler cgi-script Options +ExecCGI </VirtualHost>Ale běží to pod UID 33 (aspoň podle perlovský $< $>)
#!/usr/bin/perl -w print "Real UID".$<."\n"; print "Effective UID".$>."\n"; print "Real GID".$(."\n"; print "Effective GID".$)."\n";
[suphp] [search]
suPHP is a tool for executing PHP scripts with the permissions of their owners. It consists of an Apache module (mod_suphp) and a setuid root binary (suphp) ...Tak to máte prašť jak uhoď. Taky existuje něco jako suidperl. (Hledejte.) Bejt váma tak na ty virtualhosty spustím na každý zvlášť apache pod svým uživatelem.
/var/log/apache2/suexec.log
?
/var/www
(nevadí ale třeba, když je to symlink jinam)... ale vždy to zapíše chybu do logu a klientovi vrátí Internal server error.
Takhle to vypadá, že se suexec vůbec nektivuje. Pamatuji si, že ve starších verzích se musel ručně nastavit SUID bit na binárce suexecu, nebo ji dokonce někam přesunout, jinak to nefungovalo.
Nic ohledně suexec není ani v Apache error logu? Pokud je v konfiguraci ta volba SuexecUserGroup a nehlásí to chybu, je suexec modul určitě načtený, ale nefunguje.
whocares:~# apt-get install apache2-suexec-custom Reading package lists... Done Building dependency tree Reading state information... Done apache2-suexec-custom is already the newest version. whocares:~# a2enmod suexec Module suexec already enabled whocares:~# /etc/init.d/apache2 restart . whocares:~# ls -l /usr/lib/apache2/suexec -rwsr-xr-- 1 root www-data 15192 2009-11-14 22:09 /usr/lib/apache2/suexecJá právě už fakt nevím... Možná otázka, co by mělo být v /etc/apache2/suexec/*
apache2-suexec
. Ta -custom
verze se nejspíš musí nějak nastavit, a nějaká dokumentace k tomu zrovna moc není...
Provides the standard suexec helper program for mod_suexec. This version is compiled with document root /var/www and userdir suffix public_html. If you need different settings,
use the package apache2-suexec-custom.
<VirtualHost IP_ADDR:80>
ServerName domain.tld
ServerAlias *.domain.tld
ServerAlias jinadomena.tld
DocumentRoot /var/www/$USERNAME/domain.tld
<Directory /var/www/$USERNAME/domain.tld>
Options Indexes FollowSymLinks MultiViews ...
AllowOverride ...
Order allow,deny
allow from all
</Directory>
SuexecUserGroup $USERNAME skupina
...
- alternativně, pokud nebudete potřebovat aby na tu jednu složku směřovalo víc domén (nevyužijete ServerAlias jinadomena.tld
) to lze zjednodušit tak, že bude DocumentRoot /var/www/$USERNAME
a do jednotlivých složek se požadavky zařadí pomocí mod_rewrite pravidel
- pokud jde o nějaký "bežný" hosting, tak si připravte i řešení pro adresáře na subdomain.domain.tld
, nejflexibilnější řešení je opět pomocí mod_rewrite
apache2-suexec
, tj. bez potřeby jakékoliv konfigurace v /etc/apache2/suexec/...
Více domén (VirtualHost) pod jedním uživatelem rozhodně není problém (vyzkoušeno For security and efficiency reasons, all suEXEC requests must remain within either a top-level document root for virtual host requests, or one top-level personal document root for userdir requests. For example, if you have four VirtualHosts configured, you would need to structure all of your VHosts' document roots off of one main Apache document hierarchy to take advantage of suEXEC for VirtualHosts. (Example forthcoming.)Z manpage
CONFIGURATION If suexec is called by a user with name ’username’, it will look into /etc/apache2/suexec/username for configuration. If the file does not exist, suexec will abort. By creating several config files, you can allow several different apache run users to use suexec. The first line in the file is used as the document root (/var/www in the standard suexec) and the second line in the file is used as the suffix that is appended to users’ home directories (public_html in standard suexec). If any of the lines is commented out (with #), suexec will refuse the corresponding type of request. It is recommended to comment out the userdir suffix if you don’t need it.Jdu se ještě podívat do některých věcí, jakým způsobem se to řeší u toho PHP/fastcgi, protože tohle jinak asi nepůjde... Potřebuju víc domén/složek s funkčním suexec, a to asi neprojde...
Ta -custom verze se nejspíš musí nějak nastavit, a nějaká dokumentace k tomu zrovna moc není...Dokumentace je ve /etc/apache2/suexec/www-data, když se to nainstaluje.
/var/www public_html/cgi-bin # The first two lines contain the suexec document root and the suexec userdir # suffix. Both features can be disabled separately by prepending a # character. # This config file is only used by the apache2-suexec-custom package.Umožňuje to změnit adresáře, které jsou jinak nastavené natvrdo
Ptáte se na to, jak sprovoznit suexec a zároveň speedycgi/mod_perl/atd? Odpověď je: nelze.Můžu se zeptat, čím to je? php-fcgid-suexec funguje v pohodě - v Debianu je to i s Googlením práce na hodinku, co je u perlu špatně?
You can't suid a part of a process. mod_perl lives inside the Apache process, so its UID and GID are the same as those of the Apache process.To není vlastnost perlu, ale správy procesů a práv v UNIXu.
#!/usr/bin/php
nebo #!/usr/bin/perl
nebo dokonce \x7fELF
je už pak dost jedno.
SuexecUserGroup
jde nastavovat jen ve <VirtualHost> sekci, a ne třeba v <Directory>, jako to jde u suPHP. Existuje na to sice jednoduchý patch, ale používaní vlastní verze komplikuje správu systému.
Pokud jde o Perl a FastCGI, podívejte se a zkuste třeba modul CGI::Fast.
To benchmark mpm-peruser, I used Apache's ab benchmark to load a simple phpinfo() page 1,000 times. I ran the benchmark five times, and averaged the results. mpm-prefork: average of 6.51 second mpm-itk: average of 37.01 seconds mpm-peruser: average of 6.95 seconds suphp: average of 164.677 seconds suexec: average of 127.219 seconds suexec + bash script: average of 134.836 seconds mod_php: average of 3.753 secondszdroj
ab -n 100 -c 5 http://ip/bench.php == FASTCGI + Suexec == Requests per second: 0.21 [#/sec] (mean) Time per request: 23316.264 [ms] (mean) Time per request: 4663.253 [ms] (mean, across all concurrent requests) == MOD_PHP == Requests per second: 0.22 [#/sec] (mean) Time per request: 23132.956 [ms] (mean) Time per request: 4626.591 [ms] (mean, across all concurrent requests)Jak je vidět, je to v mém případě úplně stejné. Prosté CGI jsem netestoval, očekával bych , že to bude jen o málo horší. * Moje testy s reálnou aplikací * Aplikace: titulní stránka portálu v PHP + PostgreSQL, provoz aplikace na běžném sdíleném hostingu byl nesnesitelně pomalý
ab -n 300 -c 10 http://ip/ == PLAIN CGI + Suexec == Requests per second: 6.40 [#/sec] (mean) Time per request: 1562.403 [ms] (mean) Time per request: 156.240 [ms] (mean, across all concurrent requests) == FASTCGI + Suexec == Requests per second: 13.33 [#/sec] (mean) Time per request: 749.939 [ms] (mean) Time per request: 74.994 [ms] (mean, across all concurrent requests) = MOD_PHP == Requests per second: 13.06 [#/sec] (mean) Time per request: 765.649 [ms] (mean) Time per request: 76.565 [ms] (mean, across all concurrent requests)U této zátěže je vidět, že prosté CGI má výkonnostní propad cca 50% oproti FastCGI či mod_php, které vycházení stejně. (Testoval jsem na: Debian Lenny, XenServer PV, 2 jádra z Xeonu 2.4GHz, 512MB RAM - během testu trvale volných 300MB)
/usr/bin/php-cgi
. Stejně v tom bash skriptu jde nastavit plno užitečných věcí - cestu k php.ini, který se má použít; ulimit; nice; proměnné jako PHP_FCGI_CHILDREN
- i když se spíš doporučuje nechat správu procesů plně na mod_fcgid a nenechávat PHP spouštět další podprocesy
u toho fastcgi+suexec je zvláštní, že výsledky jsou tak rozdílné...Teď jsem se nějak ztratil. Proti čemu jsou rozdílné?
Time per request: 8.943 [ms]tak je to nějaké divné.
Tiskni
Sdílej: