Własny web server na IIS7.5 cz.1 PHP

Od dłuższego czasu hobbystycznie, a czasem i nie tylko, zajmuję się rozwiązaniami webowymi. Głównie mam tu na myśli programowanie w PHP. Zazwyczaj pracowałem na serwerach webowych opartych o apache’a, niemniej ostatnio zainteresowałem się Microsoft’owym rozwiązaniem jakim jest IIS. Z czasów IIS 5 czy 6 bardzo sceptycznie podchodziłem do tego produktu, lecz od wersji IIS 7.5 coraz bardziej przekonuję się do tego rozwiązania.

Z racji, iż ostatnio byłem zmuszony do postawienia takiej maszyny, postanowiłem opisać po trochu podstawowe operacje jak to wykonać i jak z tym żyć. Jak wiadomo jestem wielkim fanem rozwiązania Windows Server Core oraz PowerShella, dlatego całość będzie wykonana na świeżo postawionej platformie Windows Server 2008 R2 właśnie w trybie Core.

Zanim jednak zaczniemy instalować IIS’a, przygotujmy sobie nasze środowisko. By móc pracować z PowerShellem na platformie Core konieczne jest zainstalowanie najpierw .NETa, dopiero wtedy możemy przystąpić do instalacji PowerShella wraz z niezbędnymi komponentami:

start /w ocsetup NetFx2-ServerCore
start /w ocsetup MicrosoftWindowsPowerShell
start /w ocsetup ServerManager-PSH-Cmdlets

Czytaj dalej

Job Scheduling w MS SQL 2005 Express

Dziś będzie kolejny element wykonywania kopii zapasowych, choć tym razem związanych z SQL’em. Po migracji bazy jednego z systemów z MS SQLa 2000 na MS SQL 2005 Express pojawił się problem w jaki sposób automatycznie backupować bazę danych. Problem polega na tym, iż wersja Express nie posiada usługi Job Scheduling, niemniej niezaprzeczalną zaletą tej wersji SQL’a jest fakt, iż jest ona bezpłatna. Jak w takim razie automatycznie wykonywać zadania ??

Do tego celu wykorzystamy dołączone do pakietu narzędzie SQLCMD oraz standardowy Windowsowy Task Scheduler. W tym celu najpierw tworzymy sobie najprostszy skrypt SQLowy do wykonania backupu i zapisujemy go do pliku *.sql.

BACKUP DATABASE [TESTOWA] TO DISK = N’D:\Kopia.bak’ WITH NOFORMAT, NOINIT, NAME = N’TESTOWA-Full Database Backup’, SKIP, NOREWIND, NOUNLOAD, STATS = 10
GO

Ewentualnie możemy stworzyć go poprzez wyklikanie odpowiednich parametrów w Microsoft SQL Server Management Studio Express, jednakże nie wykonujemy go lecz wybieramy opcję Script Action to File.

Czytaj dalej

HyperV in PowerShell

Mając serwer w wersji Core z zainstalowaną rolą Hyper-V mamy dość ograniczone pole odnośnie zarządzania zwritualizowanym środowiskiem. Oczywiście możemy zakupić profesjonalne narzędzia do zarządzania maszynami wirtualnymi jak np. SCVMM, niemniej są to dodatkowe koszty. Możemy również wykorzystać przystawkę do konsoli MMC „Hyper-V Manager”, tu jednak w przypadku wersji Core pozostaje tylko administracja zdalna.
Alternatywną formą zarządzania środowiskiem Hyper-V jest wykorzystanie modułu Hyper-V dla Powershella. Nie jest to domyślnie wbudowany moduł, lecz można go pobrać ze strony
PowerShell Management Library for Hyper-V

Czytaj dalej

Zdalny Pulpit zdalnie

Dość często zdarzają się sytuacjie (nawet mi), gdy chcemy połączyć się zdalnie z jakimś komputerem, niemniej po chwili dostajemy ładny komunikat:

Główna przyczyna to brak skonfigurowanego RDP po stronie zdalnego systemu.

Co wtedy ?? Albo idziemy na piechotę do maszyny by włączyć obsługę RDP, albo zdalnie włączamy zdalny pulpit. Możemy tego dokonać poprzez zdalne podłączenie się do rejestru obcego systemu. Aby w ogóle móc coś takiego zrobić trzeba mieć jednak dostęp do lokalizacji \\host\c$ oraz musi być włączona usługa „Rejestru zdalnego”. Wymagane będzie również podanie nazwy użytkownika i hasła dla konta z uprawnieniami administratora zdalnego systemu.

PowerShell sam w sobie nie umożliwia obsługi zdalnego rejestru niemniej jednak możemy skorzystać z gotowej przystawki PSRemoteRegistry stworzonej do tego właśnie celu. Rozpakowujemy przystawkę oraz podpisujemy skrypty by móc je wykonywać, a następnie ładujemy moduł.

Czytaj dalej