Tagsysadmin

04.04.2018

Вчера излезе WordPress 4.9.5.

А Speedy са хомосексуалисти – имат гениалния план за изпращане на пратки за 2 дни. И пратката идва на следващия ден, стои ЕДИН ДЕН в техния склад и на следващия ти я носят.

 

In other news:

  • Оказа се, че Chrome сканира локалните файлове. Повече информация – в статията;
  • Жлъч говори пред chronicle.bg;
  • Ahrefs правят един анализ на над 170 милиона сайта и ни показват малко статистики за тези, които използват машините ни да копаят криптовалути. Най-големия играч в това отношение е coin-hive, който води класацията с почти 94%. Ако се загледаме в списъка с топ 20 сайта две неща правят впечатление:
  • Side note към горната точка – можете да блокирате съвсем успешно тези JS maining scripts с uBlock или AdBlock;
  • Понеже ще сменям скоро гумите на Ситроена и потърсих малко ревюта за летни гуми. Та ако решите – списъка на ADAC за 2016 (не намерих за 2017) за 185/65/15 можете да видите тук.

03.04.2018

Поръчах си Polar V650 и нямам търпение да го тествам! Ще пиша моите наблюдения по-натам.

In other news:

 

Преди няколко години попаднах на фотограф, който заснима и разказва историята на жена си, която страда от рак на гърдата. Ся такива разкази ще кажете, че са лигня, че натоварват излишно, но вижте света света на Angelo Merendino и разказа му за една любов, която не умира. Самия той говори на TedX и разказите му са пълни с любов. Та да не забравяме за хората около нас и че не всичко е вечно, както си мислихме като деца.

 

И последно за днес, цитат на деня от Дийкстра – “Selecting a tool first and then trying to fit it into an existing software development and testing process is a bit like buying a horse and then realizing you live in an apartment on the twentieth story of a Manhattan skyscraper: probably not such a good idea.”

02.04.2018

Целия уикенд мина в почивка, разходка до Балчик за по една супа и да ни навали дъжда и четене.

In other news, освен, че се подготвям за QA: Challenge Accepted 4.0:

Решението на един стар проблем

На marvin живеят няколко WordPress-а, но и с него влача няколко мои стари проекти. Един от тях скоро ще стане на 9 години. И понеже живеят на Joomla 1.5, която практически е невъзможно (варианти има, но безплатните не работят, а за платени не смятам, че искам) да се ъпгрейдне към latest. За това nginx-а ми работи с php-fpm, който търкаля две версии на PHP – 5.х и 7.х. И понеже първата е крайно архаична взех решението старите сайтове да ги разкарам напълно. Така или иначе нямам никаква полза от тях.

И вчера вдигнах още един VPS и започнах да конфигурирам наново nginx/php-fpm/etc. Оказа се, че съм позабравил част от configuration flow-а и седнах да помисля какво и как да направя. Най-накрая стигнах до решението, че вместо да си блъскам главата ще инсталирам един стар LTS на Ubuntu в който се поддържа PHP 5.x и всичко тръгна от раз.

Тенденцията ще е да разкарам всичките си клиенти (в големи кавички, таксите им са малко над цените на домейна) и да мина най-накрая на latest and greatest без да се занимавам с излишни глупости.

 

И така на marvin ще се освободи още малко място така, че ако някой (с предимство са студенти/ученици/преподаватели) има нужда да хостне нещо може да се възползва напълно безплатно.

09.12.2017

Днес е малко време за четене и спокойствие. И разходка!

Не можах да прочета много, но излязохме на свеж въздух в южен парк, пихме по една Коста и се прибрахме. Носих голямата на нещо като раница, скачах и беснях като изтърван. Липсваше ми студения въздух и разходките.

Вечерта започнах да се подготвям за миграцията на marvin към php-fpm (не с manually build PHP (и при това две – едно антично и едно latest and greatest)), Никото ми представи няколко много вълнуващи идеи и конфигурации за nginx-а.
Плана е да deploy-на наново nginx, php-fpm и да пренапиша изцяло vhost-овете. Освен това сега използвам letsencrypt за … да – да генерирам сертификати за Let’s Encrypt. Ще мигрирам на certbot.

Тези промени ще подобрят:

  • Работата на marvin като цяло;
  • Много по-леката конфигурация на nginx, очаквам скоростта на блога и останалите сайтове да се качи значително;
  • Всичко, което носи PHP 7.2 и най-вече сигурност и скорост;
  • Сигурността трябва да се повиши (имам някои проблеми си правата и потребителите, които ще бъдат разрешени с деплоя на новия nginix);
  • Ще науча много за nginx, конфигурацията му и работата с vhosts;
  • Ще разкарам всичките php-fpm глупости – в момента търкалям PHP 5.3 (което е свръх-антично) и PHP 7.0.3. Накрая ще стане само един (колко крайно прозвуча това :D) – 7.2.

 

In other news:

01.12.2017 – Linux Journal shuts down

Едно от най-големите списания за Linux и Open Source спира изданията си от днес. Първото издание на списанието е от 1994 година и по техни думи е с едно от най-силните микро общества фокусирани в open source-а. Последното печатно издание е от 2011 година, но портала остава популярен и до днес.
Финалната статия на Kyle Rankin повдига няколко основни въпроса относно open source, linux и идеята, която стои зад тях – свобода, прозрачност и гъвкавост.

So long and thanks for all the bash, Linux Journal!

Мина Zara Code Week 2017

Мина втория ми за годината Code Week този път в Стара Загора само няколко седмици след Code Week Varna 2017.

Бях поканен от Венко Добрев, който е от ония суперактивни хора, които искат да правят света около себе си по-добър и не мрънкат, а действат.  И понеже е и скромен ще опиша аз с какво се занимава – беше управител на Beehive за година и половина, два пъти е организирал Code Week Варна (като веднъж бях сред лекторите там), два пъти в Стара Загора, два Startup Weekend-а, бил е един от организаторите на TEDxStaraZagora, помага на брутално якия coworking space ZaraLab (Венко, ако четеш това прати малко снимки да покажем на хората колко яко е местенцето). Освен това започна нова образователна инициатива за мотивация на ученици и отделно младежи в неравностойно положение – “Аз и моят успех”. Опита се да направи нещата по-добри като работеше в община Стара Загора като младши специалист в отдел спорт, туризъм и младежки дейности и беше част от екипа писал кандидатурата за Европейски град на спорта 2017, която градът спечели. Сега работи като експерт в Агенция за регионално икономическо развитие – Стара Загора по два международни проекта с колегите – единият за иновации в МСП в селските райони, а другият за зелени обществени поръчки. Сигурно има и други неща, които пропускам.

Та – той беше една от причините да пропътуваме 300 км. Другата бяха останалите лектори, които бяха епични копелета, а на трето, но изобщо не на последно място – хората, които щяхме да срещнем там.

Тръгнахме в Събота, 21 Октомври от Варна и за съжление изтървахме откриването и голяма част от лекцията на Петър ПетровAndroid between Java and Kotlin“. Това, което видях беше интересно и сигурно много практично за Android devs. Лекцията беше много chill, както и повечето от лекциите от двата дни. За Пешо хубаво или нищо! Дори вече не помня от къде се познаваме, но като го представям на някого обикновено споменавам, че първо се е научил да свири на гъдулка (ей, винаги съм си мислил, че е гайда, деба!) и после да програмира.

Последва може би най-епичната лекция от събитието с най-епичния лектор – Oрлин Димитров, който тръгна да говори за “Свързаност на елементите на роботизираните системи“, но след десетата минута и зададени 5 въпроса смени темата и изкара на freestyle почти два часа пълни с хардуер и софтуер и хумор, а в края залата беше залята от мощната вълна ентусиазъм, която Орлин хвърля винаги, когато говори пред хора. Той е и един от виновниците да се запаля по микроконтролите последните седмици. (Орлине – ти ще отговаряш пред Златина защо съм си дал половината заплата за контролери!)

Последва почивка и след това дойде темата на Яна Славчева за чат ботовете, която не слушах много, защото си подготвях моята лекция и среда за изпълняването на тестовете. Тук нямам какво повече да напиша.

ИТ-ПОП-ИДОЛА Михаил Дучев известен сред своите приятели, колеги и врагове като Дучев, още по-известен като грамар-нацито на Интернета, бъг хънтъра на себеподобни, човека, който чупи всичко по пътя си и т.н. и т.н. Та той говори за Xamarin като се посмяхме, показа някои интересни неща и беше достойно (Дучев за 3 минути намери eastern-egg-а, браво :D) закриване на първия ден на Zara Code Week 2017.
Останахме да спим в Митака (Митак №2 всъщност), а преди това се събрахме на бърза и културна вечеря на местна кръчма (на която забравих името). Та там салатите бяха два типа – от 500 и от 1000 гр. Със Златина успяхме да смачкаме една 500 грамова с малко зор.
След като се правихме на културни за около 12 минути някой започна с първия виц и така до полунощ минахме от тъпи вицове, които всеки знае до най-дълбоките дебри на черния хумор. Беше абсолютно епично и още повече да говориш с такива хора, които имат толкова много неща да споделят (и хумора е само малка част от тях).

Прибрахме се и легнахме. На следващия ден аз бях с откриващата лекция.

Станахме в 7 и към 8:00 се замъкнахме в бизнес сградата в която щеше да се проведе събитието. Поръчахме по едно кафе и направих финални щрихи (тоест си донаписах презентацията :D) на презентацията (баси тъпото повторение), хората започнаха да се нижат един по един и в 10:30-10:40 излязох да говоря аз.

Минах набързо през основните неща, които казвам на лекциите си и се насочих към темата за сигурност. Разказах в известни детайли как да направим анализ на някакъв уеб ресурс, който в случая беше моя блог (не ми се искаше пак да чупим общинско/държавно on the fly), разказах за DVWA и накрая пуснах един dictionary attack към блога ми. Разказах малко за Google Dorks, a накрая имаше и малко performance testing с jMeter, за който не остана много време, че вече бях направил почти два часа.

Имаше доста дискусии и въпроси и се получи много cool цялата работа. Дори май бях и полезен.

След мен излезе Димитър Костов за да говори за Mobile scaffolding. Лекцията беше супер полезна и интересна, разказа доста неща и най-накрая научих какво е scaffolding. Също така беше и единствения лектор, който излезе и започна да говори за това, което прави от самото начало така, че да бъде разбран добре и от хора, които нямат никакъв опит в бранша. Получи се добра лекция.
Решихме след него да си ходим със Злати, но се оказа, че Митака и Тошко са към Варна и останахме за предпоследната лекция на Тодор Янков – “Интро в JavaScript”. Презентацията му беше web based с интеграции и най-вече – code snippet editor директно в нея.

Разказа ни за JS, react и направи един съвсем лек проект (взимаше JSON данни от weather provider и ги показваше на екрана). Имаше и супер много въпроси, дискусии и показа завидни познания по linux/zsh/vim.
Тръгнахме като ми беше терсене, че няма да чуем последната лекция на нашия домакин – Димитър Стефанов, който е backend developer в Big Mustache Game говори за “Grimm side of programming”. Самия той се занимава от безброй много години със C# .NET и MSSQL и разказа за C#, релационните база данни и концепцията клиент/сървър (това ми беше преразказано от Венко като каза, че лекцията е била доста добра).

 

Снимки – скоро.

How to enable friendly URL’s for Joomla using nginx

Когато преместих вече античния nasam.be на marvin имах един основен проблем свързан с прехода между apache2 и nginx и това беше, че nginx не поддържа .htaccess (повече можете да прочетете тук и тук). Там (почти) всичко е организирано в sites-avialable/ профила на сайта, който хоствам и грозните линкове, които Joomla генерира (от типа на https://nasam.be/index.php?option=com_content&view=article&id=183:qa-test-types&catid=53:software-testing&Itemid=167) с един ред и един рестарт станаха по-прилични (https://nasam.be/kompyutarni/software-testing/qa-test-types.html)

Промяната е в /etc/nginx/sites-avialable/project_name:

location / {
 try_files $uri $uri/ /index.php?$args;
 }

Или добавяме в основната location / {} директива точно преди затварящата къдрава скоба следния ред:

 try_files $uri $uri/ /index.php?$args;

Следва рестарт на nginx, сменяне на настройките в Joomla да се използва mod_rewrite и това е :)

 

Искам да отбележа, че това не е специфично Joomla! или WordPress решение, а универсално. Ако имате каквато и да е система, която използва rewrite на линковете това решение би трябвало да ви свърши работа.

Free backup script

Баси тъпото заглавие.

Anyway – днес fork-нах един проект, който използвам от извесно време с разни адаптации за marvin и реших да го публикувам.
github проекта за сега носи работното име Full Web Server Backup, а основния проект можете да намерите тук.

Основните разлики между проектите са:

  • Основния проект има Amazon S3 sync, аз го махнах, защото използвам услугите на pCloud;
  • В моя има архивиране на /etc, почистени са малко неразбории.

За в бъдеще смятам да добавя:

  • Избор на compression level;
  • Изнасяне на mySQL user/pass в ~/.my.cnf
  • Избор на специфични директории в /etc, които да архивираме или exclude-нем;
  • cronjob;
  • Архивиране на /home директорията на определен потребител (ако имаме права за това).

Ако имате друга идея с радост ще я прегледам. marvin си пази бекъпите с този скрипт и за момента работи безпроблемно.

01.11.2017

Има дни в които искаш да си купиш книга за Java и ant и да ги запалиш в пентаграма гледайки как синия пламък оформя странни форми на къдрави скоби и NULL-ове. Има и дни в които нещата не изглеждат така безнадеждни.

Иначе си играя с бекъпите на marvin и намирам решения за елементарни проблеми в bash. ако на някой му е интересно да каже и ще разпиша какви проблеми срещнах и какви решения намерих.

In other news: