Linux - doskonała platforma do tworzenia i testowania witryn internetowych. Biorąc pod uwagę, że większość serwerów WWW używać Linuksa jako systemu operacyjnego i przetestować witrynę lepiej w tym systemie, przy użyciu tych samych narzędzi, nawet jeśli jest to komputer domowy. Znacznie wygodniej jest mieć wszystko pod ręką i nie boją się uszkodzić serwer strony.
Dziś mówimy o lampę. W rzeczywistości to nie jest program, to stos programów open source, potrzebne do stron internetowych pracują. Nazwa formalna i pochodzi od pierwszych liter nazw programów należących do: Linux, Apache, MySQL, PHP - i ze światłem, są to programy, które muszą być zainstalowane i skonfigurowane, aby rozpocząć tworzenie stron i aplikacji internetowych na komputerze w domu. Linux - wszystko jest jasne, to jest nasz system operacyjny, Apache - serwer WWW, MySQL - oprogramowanie do zarządzania bazami danych, PHP - Obecnie najbardziej popularnym języku programowania WWW.
W tym podręczniku, instalacja LAMP Ubuntu 16.04 będą rozpatrywane. Przyjrzymy się, jak zainstalować Apache 2.4, MariaDB jak bazy danych MySQL oraz najnowszej wersji 7. język PHP, aby rozpocząć instalację Apache Ubuntu 16.04 będą realizowane, ponieważ jest to główny składnik całego systemu, a dopiero potem podłączyć do niego dodatkowe komponenty.
W tym artykule:
zawartość
Instalacja Apache Ubuntu 16,04
Apache - to wieloplatformowy serwer WWW open source. Obsługuje wszystkie niezbędne funkcje serwera sieci Web, w tym CGI, SSL i domen wirtualnych.
Zainstalować Apache na Ubuntu jest bardzo prosta, wystarczy wykonać:
sudo apt-get install apache2
Po zainstalowaniu programu dodawania do uruchamiania:
sudo systemctl enable apache2
I uruchomić serwer WWW teraz:
sudo systemctl start apache2
Teraz możesz to sprawdzić, należy otworzyć przeglądarkę i wpisać w pasku adresu localhost:
Jak widać, instalacja apache ubuntu 16.04 jest zakończona, a serwer jest już uruchomiony. Ale to nie wszystko. Jeśli masz stronę, że potrzeba ciasto na lokalnej maszynie, to wszystko jest w porządku. Ale jeśli więcej niż jeden, a następnie zebrać je wszystkie w podkatalogu serwera WWW nie jest bardzo wygodne, a nie wszystkie silniki są zwykle odnoszą się do tego. Ponieważ rozważmy jak skonfigurować wirtualne hosty.
Utwórz nowy folder dla naszego wirtualnego hosta:
sudo mkdir /var/www/test.site
Dajmy prawo dostępu:
sudo chmod -R 755 /var/www
Musisz stworzyć mały plik index.html, tak że otwiera się po uruchomieniu w witrynie:
sudo vi /var/www/test.site/public_html/index.html
Success! Virtual host is working!
Teraz można dodać wirtualnego hosta, aby to zrobić, należy utworzyć plik i wypełnić go treścią:
sudo vi /etc/apache2/sites-available/test.site.conf
ServerName test.site
ServerAlias www.test.site
ServerAdmin [email protected]
DocumentRoot /var/www/test.site/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Oto, co to tylko niektóre z linii:
- ServerName - nazwa naszej strony, wirtualnego hosta
- ServerAlias - strona będzie dostępna również w imieniu
- DocumentRoot - katalog główny z plików witryn
Teraz zapisz plik, a następnie trzeba aktywować naszego gospodarza:
sudo a2ensite test.site.conf
Zrestartować serwer WWW:
sudo systemctl restart apache2
Teraz trzeba zakończyć ruch z tej domeny na serwerze lokalnym, aby to zrobić, należy dodać linię w pliku / etc / hosts:
sudo vi /etc/hosts
127.0.0.1 test.site
Otwórz przeglądarkę i wpisz w pasku adresu test.site:
Ponadto, możemy włączyć SSL wsparcie dla naszego serwera WWW. Aby to zrobić:
a2enmod ssl
$ a2ensite default-ssl
Następnie należy ponownie uruchomić serwer WWW:
sudo systemctl restart apache2
Teraz można sprawdzić pracę SSL poprzez wpisanie adresu https: // localhost.
Przeglądarka nie ufa jak nasz certyfikat z podpisem własnym, ale spokojnie możemy go dodać do wyjątków, to nasze świadectwo. Teraz to działa:
Instalacja PHP 7
Instalacja i konfiguracja LAMP w Ubuntu nie jest kompletna bez języka programowania. PHP - jest najpopularniejszym językiem programowania WWW. Jej nazwa - to rekurencyjny akronim (PHP: Hypertext Preprocessor). Poza faktem, że język używany w internecie, może być używany jako język ogólnego przeznaczenia, język skryptowy.
Instalacja PHP 7 na Ubuntu 16.04 jest realizowane za pomocą następującego polecenia:
sudo apt-get install php7.0-mysql php7.0-curl php7.0-json php7.0-cgi php7.0 libapache2-mod-php7.0
Jeśli chcesz zainstalować wszystkie dostępne moduły php, aby uniknąć problemów w przyszłości, można uruchomić polecenie:
sudo apt-get install php*
Po zakończeniu instalacji, należy sprawdzić wersję PHP:
php -v
Teraz nadszedł czas, aby zobaczyć, jak to działa. Aby to zrobić, należy utworzyć plik z następującego kodu PHP:
sudo vi /var/www/test.site/public_html/test.php
This program is free software; you can redistribute it and/or modify it under the terms of the PHP License as published by the PHP Group and included in the distribution in the file: LICENSE
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
If you did not receive a copy of the PHP license, or have any questions about PHP licensing, please contact [email protected]
PHP Version 7.2.15-0ubuntu0.18.04.1
System Linux 51.15.4.82.example.com 4.15.0-46-generic #49-Ubuntu SMP Wed Feb 6 09:33:07 UTC 2019 x86_64 Build Date Feb 8 2019 14:54:22 Server API FPM/FastCGI Virtual Directory Support disabled Configuration File (php.ini) Path /etc/php/7.2/fpm Loaded Configuration File /etc/php/7.2/fpm/php.ini Scan this dir for additional .ini files /etc/php/7.2/fpm/conf.d Additional .ini files parsed /etc/php/7.2/fpm/conf.d/10-mysqlnd.ini,
/etc/php/7.2/fpm/conf.d/10-opcache.ini,
/etc/php/7.2/fpm/conf.d/10-pdo.ini,
/etc/php/7.2/fpm/conf.d/15-xml.ini,
/etc/php/7.2/fpm/conf.d/20-calendar.ini,
/etc/php/7.2/fpm/conf.d/20-ctype.ini,
/etc/php/7.2/fpm/conf.d/20-curl.ini,
/etc/php/7.2/fpm/conf.d/20-dom.ini,
/etc/php/7.2/fpm/conf.d/20-exif.ini,
/etc/php/7.2/fpm/conf.d/20-fileinfo.ini,
/etc/php/7.2/fpm/conf.d/20-ftp.ini,
/etc/php/7.2/fpm/conf.d/20-gd.ini,
/etc/php/7.2/fpm/conf.d/20-gettext.ini,
/etc/php/7.2/fpm/conf.d/20-iconv.ini,
/etc/php/7.2/fpm/conf.d/20-intl.ini,
/etc/php/7.2/fpm/conf.d/20-json.ini,
/etc/php/7.2/fpm/conf.d/20-mbstring.ini,
/etc/php/7.2/fpm/conf.d/20-mysqli.ini,
/etc/php/7.2/fpm/conf.d/20-pdo_mysql.ini,
/etc/php/7.2/fpm/conf.d/20-phar.ini,
/etc/php/7.2/fpm/conf.d/20-posix.ini,
/etc/php/7.2/fpm/conf.d/20-pspell.ini,
/etc/php/7.2/fpm/conf.d/20-readline.ini,
/etc/php/7.2/fpm/conf.d/20-shmop.ini,
/etc/php/7.2/fpm/conf.d/20-simplexml.ini,
/etc/php/7.2/fpm/conf.d/20-sockets.ini,
/etc/php/7.2/fpm/conf.d/20-sysvmsg.ini,
/etc/php/7.2/fpm/conf.d/20-sysvsem.ini,
/etc/php/7.2/fpm/conf.d/20-sysvshm.ini,
/etc/php/7.2/fpm/conf.d/20-tokenizer.ini,
/etc/php/7.2/fpm/conf.d/20-wddx.ini,
/etc/php/7.2/fpm/conf.d/20-xmlreader.ini,
/etc/php/7.2/fpm/conf.d/20-xmlwriter.ini,
/etc/php/7.2/fpm/conf.d/20-xsl.ini
PHP API 20170718 PHP Extension 20170718 Zend Extension 320170718 Zend Extension Build API320170718,NTS PHP Extension Build API20170718,NTS Debug Build no Thread Safety disabled Zend Signal Handling enabled Zend Memory Manager enabled Zend Multibyte Support provided by mbstring IPv6 Support enabled DTrace Support available, disabled Registered PHP Streams https, ftps, compress.zlib, php, file, glob, data, http, ftp, phar Registered Stream Socket Transports tcp, udp, unix, udg, ssl, tls, tlsv1.0, tlsv1.1, tlsv1.2 Registered Stream Filters zlib.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, dechunk, convert.iconv.*
Configuration
calendar
Calendar support enabled cgi-fcgi
php-fpm active
Directive Local Value Master Value cgi.discard_path 0 0 cgi.fix_pathinfo 1 1 cgi.force_redirect 1 1 cgi.nph 0 0 cgi.redirect_status_env no value no value cgi.rfc2616_headers 0 0 fastcgi.error_header no value no value fastcgi.logging 1 1 fpm.config no value no value Core
PHP Version 7.2.15-0ubuntu0.18.04.1
Directive Local Value Master Value allow_url_fopen On On allow_url_include Off Off arg_separator.input & & arg_separator.output & & auto_append_file no value no value auto_globals_jit On On auto_prepend_file no value no value browscap no value no value default_charset UTF-8 UTF-8 default_mimetype text/html text/html disable_classes no value no value disable_functions pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, display_errors Off Off display_startup_errors Off Off doc_root no value no value docref_ext no value no value docref_root no value no value enable_dl Off Off enable_post_data_reading On On error_append_string no value no value error_log no value no value error_prepend_string no value no value error_reporting 22527 22527 expose_php Off Off extension_dir /usr/lib/php/20170718 /usr/lib/php/20170718 file_uploads On On hard_timeout 2 2 highlight.comment #FF8000 #FF8000 highlight.default #0000BB #0000BB highlight.html #000000 #000000 highlight.keyword #007700 #007700 highlight.string #DD0000 #DD0000 html_errors On On ignore_repeated_errors Off Off ignore_repeated_source Off Off ignore_user_abort Off Off implicit_flush Off Off include_path .:/usr/share/php .:/usr/share/php input_encoding no value no value internal_encoding no value no value log_errors On On log_errors_max_len 1024 1024 mail.add_x_header Off Off mail.force_extra_parameters no value no value mail.log no value no value max_execution_time 30 30 max_file_uploads 20 20 max_input_nesting_level 64 64 max_input_time 60 60 max_input_vars 1000 1000 memory_limit 128M 128M open_basedir no value no value output_buffering 4096 4096 output_encoding no value no value output_handler no value no value post_max_size 8M 8M precision 14 14 realpath_cache_size 4096K 4096K realpath_cache_ttl 120 120 register_argc_argv Off Off report_memleaks On On report_zend_debug On On request_order GP GP sendmail_from no value no value sendmail_path /usr/sbin/sendmail -t -i /usr/sbin/sendmail -t -i serialize_precision -1 -1 short_open_tag On On SMTP localhost localhost smtp_port 25 25 sys_temp_dir no value no value track_errors Off Off unserialize_callback_func no value no value upload_max_filesize 2M 2M upload_tmp_dir /home/admin/tmp /home/admin/tmp user_dir no value no value user_ini.cache_ttl 300 300 user_ini.filename .user.ini .user.ini variables_order GPCS GPCS xmlrpc_error_number 0 0 xmlrpc_errors Off Off zend.assertions -1 -1 zend.detect_unicode On On zend.enable_gc On On zend.multibyte Off Off zend.script_encoding no value no value zend.signal_check Off Off ctype
ctype functions enabled curl
cURL support enabled cURL Information 7.58.0 Age 4 Features AsynchDNS Yes CharConv No Debug No GSS-Negotiate No IDN Yes IPv6 Yes krb4 No Largefile Yes libz Yes NTLM Yes NTLMWB Yes SPNEGO Yes SSL Yes SSPI No TLS-SRP Yes HTTP2 Yes GSSAPI Yes KERBEROS5 Yes UNIX_SOCKETS Yes PSL Yes Protocols dict, file, ftp, ftps, gopher, http, https, imap, imaps, ldap, ldaps, pop3, pop3s, rtmp, rtsp, smb, smbs, smtp, smtps, telnet, tftp Host x86_64-pc-linux-gnu SSL Version OpenSSL/1.1.0g ZLib Version 1.2.11 date
date/time support enabled timelib version 2017.09 "Olson" Timezone Database Version 0.system Timezone Database internal Default timezone Europe/Kiev
Directive Local Value Master Value date.default_latitude 31.7667 31.7667 date.default_longitude 35.2333 35.2333 date.sunrise_zenith 90.583333 90.583333 date.sunset_zenith 90.583333 90.583333 date.timezone Europe/Kiev Europe/Kiev dom
DOM/XML enabled DOM/XML API Version 20031129 libxml Version 2.9.4 HTML Support enabled XPath Support enabled XPointer Support enabled Schema Support enabled RelaxNG Support enabled exif
EXIF Support enabled EXIF Version 7.2.15-0ubuntu0.18.04.1 Supported EXIF Version 0220 Supported filetypes JPEG, TIFF Multibyte decoding support using mbstring enabled Extended EXIF tag formats Canon, Casio, Fujifilm, Nikon, Olympus, Samsung, Panasonic, DJI, Sony, Pentax, Minolta, Sigma, Foveon, Kyocera, Ricoh, AGFA, Epson
Directive Local Value Master Value exif.decode_jis_intel JIS JIS exif.decode_jis_motorola JIS JIS exif.decode_unicode_intel UCS-2LE UCS-2LE exif.decode_unicode_motorola UCS-2BE UCS-2BE exif.encode_jis no value no value exif.encode_unicode ISO-8859-15 ISO-8859-15 fileinfo
fileinfo support enabled version 1.0.5 libmagic 531 filter
Input Validation and Filtering enabled Revision $Id: 5a34caaa246b9df197f4b43af8ac66a07464fe4b $
Directive Local Value Master Value filter.default unsafe_raw unsafe_raw filter.default_flags no value no value ftp
FTP support enabled FTPS support enabled gd
GD Support enabled GD headers Version 2.2.5 GD library Version 2.2.5 FreeType Support enabled FreeType Linkage with freetype FreeType Version 2.8.1 GIF Read Support enabled GIF Create Support enabled JPEG Support enabled libJPEG Version 8 PNG Support enabled libPNG Version 1.6.34 WBMP Support enabled XPM Support enabled libXpm Version 30411 XBM Support enabled WebP Support enabled
Directive Local Value Master Value gd.jpeg_ignore_warning 1 1 gettext
GetText Support enabled hash
hash support enabled Hashing Engines md2 md4 md5 sha1 sha224 sha256 sha384 sha512/224 sha512/256 sha512 sha3-224 sha3-256 sha3-384 sha3-512 ripemd128 ripemd160 ripemd256 ripemd320 whirlpool tiger128,3 tiger160,3 tiger192,3 tiger128,4 tiger160,4 tiger192,4 snefru snefru256 gost gost-crypto adler32 crc32 crc32b fnv132 fnv1a32 fnv164 fnv1a64 joaat haval128,3 haval160,3 haval192,3 haval224,3 haval256,3 haval128,4 haval160,4 haval192,4 haval224,4 haval256,4 haval128,5 haval160,5 haval192,5 haval224,5 haval256,5
MHASH support Enabled MHASH API Version Emulated Support iconv
iconv support enabled iconv implementation glibc iconv library version 2.27
Directive Local Value Master Value iconv.input_encoding no value no value iconv.internal_encoding no value no value iconv.output_encoding no value no value intl
Internationalization support enabled version 1.1.0 ICU version 60.2 ICU Data version 60.2 ICU TZData version 2017c ICU Unicode version 10.0
Directive Local Value Master Value intl.default_locale no value no value intl.error_level 0 0 intl.use_exceptions 0 0 json
json support enabled json version 1.6.0 libxml
libXML support active libXML Compiled Version 2.9.4 libXML Loaded Version 20904 libXML streams enabled mbstring
Multibyte Support enabled Multibyte string engine libmbfl HTTP input encoding translation disabled libmbfl version 1.3.2 oniguruma version 6.3.0
mbstring extension makes use of "streamable kanji code filter and converter", which is distributed under the GNU Lesser General Public License version 2.1.
Multibyte (japanese) regex support enabled Multibyte regex (oniguruma) backtrack check On Multibyte regex (oniguruma) version 6.3.0
Directive Local Value Master Value mbstring.detect_order no value no value mbstring.encoding_translation Off Off mbstring.func_overload 0 0 mbstring.http_input no value no value mbstring.http_output no value no value mbstring.http_output_conv_mimetypes ^(text/|application/xhtml\+xml) ^(text/|application/xhtml\+xml) mbstring.internal_encoding no value no value mbstring.language neutral neutral mbstring.strict_detection Off Off mbstring.substitute_character no value no value mysqli
MysqlI Support enabled Client API library version mysqlnd 5.0.12-dev - 20150407 - $Id: 3591daad22de08524295e1bd073aceeff11e6579 $ Active Persistent Links 0 Inactive Persistent Links 0 Active Links 0
Directive Local Value Master Value mysqli.allow_local_infile On On mysqli.allow_persistent On On mysqli.default_host no value no value mysqli.default_port 3306 3306 mysqli.default_pw no value no value mysqli.default_socket no value no value mysqli.default_user no value no value mysqli.max_links Unlimited Unlimited mysqli.max_persistent Unlimited Unlimited mysqli.reconnect Off Off mysqli.rollback_on_cached_plink Off Off mysqlnd
mysqlnd enabled Version mysqlnd 5.0.12-dev - 20150407 - $Id: 3591daad22de08524295e1bd073aceeff11e6579 $ Compression supported core SSL supported extended SSL supported Command buffer size 4096 Read buffer size 32768 Read timeout 86400 Collecting statistics Yes Collecting memory statistics No Tracing n/a Loaded plugins mysqlnd,debug_trace,auth_plugin_mysql_native_password,auth_plugin_mysql_clear_password,auth_plugin_sha256_password API Extensions mysqli,pdo_mysql
mysqlnd statistics bytes_sent 0 bytes_received 0 packets_sent 0 packets_received 0 protocol_overhead_in 0 protocol_overhead_out 0 bytes_received_ok_packet 0 bytes_received_eof_packet 0 bytes_received_rset_header_packet 0 bytes_received_rset_field_meta_packet 0 bytes_received_rset_row_packet 0 bytes_received_prepare_response_packet 0 bytes_received_change_user_packet 0 packets_sent_command 0 packets_received_ok 0 packets_received_eof 0 packets_received_rset_header 0 packets_received_rset_field_meta 0 packets_received_rset_row 0 packets_received_prepare_response 0 packets_received_change_user 0 result_set_queries 0 non_result_set_queries 0 no_index_used 0 bad_index_used 0 slow_queries 0 buffered_sets 0 unbuffered_sets 0 ps_buffered_sets 0 ps_unbuffered_sets 0 flushed_normal_sets 0 flushed_ps_sets 0 ps_prepared_never_executed 0 ps_prepared_once_executed 0 rows_fetched_from_server_normal 0 rows_fetched_from_server_ps 0 rows_buffered_from_client_normal 0 rows_buffered_from_client_ps 0 rows_fetched_from_client_normal_buffered 0 rows_fetched_from_client_normal_unbuffered 0 rows_fetched_from_client_ps_buffered 0 rows_fetched_from_client_ps_unbuffered 0 rows_fetched_from_client_ps_cursor 0 rows_affected_normal 0 rows_affected_ps 0 rows_skipped_normal 0 rows_skipped_ps 0 copy_on_write_saved 0 copy_on_write_performed 0 command_buffer_too_small 0 connect_success 0 connect_failure 0 connection_reused 0 reconnect 0 pconnect_success 0 active_connections 0 active_persistent_connections 0 explicit_close 0 implicit_close 0 disconnect_close 0 in_middle_of_command_close 0 explicit_free_result 0 implicit_free_result 0 explicit_stmt_close 0 implicit_stmt_close 0 mem_emalloc_count 0 mem_emalloc_amount 0 mem_ecalloc_count 0 mem_ecalloc_amount 0 mem_erealloc_count 0 mem_erealloc_amount 0 mem_efree_count 0 mem_efree_amount 0 mem_malloc_count 0 mem_malloc_amount 0 mem_calloc_count 0 mem_calloc_amount 0 mem_realloc_count 0 mem_realloc_amount 0 mem_free_count 0 mem_free_amount 0 mem_estrndup_count 0 mem_strndup_count 0 mem_estrdup_count 0 mem_strdup_count 0 mem_edupl_count 0 mem_dupl_count 0 proto_text_fetched_null 0 proto_text_fetched_bit 0 proto_text_fetched_tinyint 0 proto_text_fetched_short 0 proto_text_fetched_int24 0 proto_text_fetched_int 0 proto_text_fetched_bigint 0 proto_text_fetched_decimal 0 proto_text_fetched_float 0 proto_text_fetched_double 0 proto_text_fetched_date 0 proto_text_fetched_year 0 proto_text_fetched_time 0 proto_text_fetched_datetime 0 proto_text_fetched_timestamp 0 proto_text_fetched_string 0 proto_text_fetched_blob 0 proto_text_fetched_enum 0 proto_text_fetched_set 0 proto_text_fetched_geometry 0 proto_text_fetched_other 0 proto_binary_fetched_null 0 proto_binary_fetched_bit 0 proto_binary_fetched_tinyint 0 proto_binary_fetched_short 0 proto_binary_fetched_int24 0 proto_binary_fetched_int 0 proto_binary_fetched_bigint 0 proto_binary_fetched_decimal 0 proto_binary_fetched_float 0 proto_binary_fetched_double 0 proto_binary_fetched_date 0 proto_binary_fetched_year 0 proto_binary_fetched_time 0 proto_binary_fetched_datetime 0 proto_binary_fetched_timestamp 0 proto_binary_fetched_string 0 proto_binary_fetched_json 0 proto_binary_fetched_blob 0 proto_binary_fetched_enum 0 proto_binary_fetched_set 0 proto_binary_fetched_geometry 0 proto_binary_fetched_other 0 init_command_executed_count 0 init_command_failed_count 0 com_quit 0 com_init_db 0 com_query 0 com_field_list 0 com_create_db 0 com_drop_db 0 com_refresh 0 com_shutdown 0 com_statistics 0 com_process_info 0 com_connect 0 com_process_kill 0 com_debug 0 com_ping 0 com_time 0 com_delayed_insert 0 com_change_user 0 com_binlog_dump 0 com_table_dump 0 com_connect_out 0 com_register_slave 0 com_stmt_prepare 0 com_stmt_execute 0 com_stmt_send_long_data 0 com_stmt_close 0 com_stmt_reset 0 com_stmt_set_option 0 com_stmt_fetch 0 com_deamon 0 bytes_received_real_data_normal 0 bytes_received_real_data_ps 0 openssl
OpenSSL support enabled OpenSSL Library Version OpenSSL 1.1.0g 2 Nov 2017 OpenSSL Header Version OpenSSL 1.1.0g 2 Nov 2017 Openssl default config /usr/lib/ssl/openssl.cnf
Directive Local Value Master Value openssl.cafile no value no value openssl.capath no value no value pcre
PCRE (Perl Compatible Regular Expressions) Support enabled PCRE Library Version 8.39 2016-06-14 PCRE JIT Support enabled
Directive Local Value Master Value pcre.backtrack_limit 1000000 1000000 pcre.jit 1 1 pcre.recursion_limit 100000 100000 PDO
PDO support enabled PDO drivers mysql pdo_mysql
PDO Driver for MySQL enabled Client API version mysqlnd 5.0.12-dev - 20150407 - $Id: 3591daad22de08524295e1bd073aceeff11e6579 $
Directive Local Value Master Value pdo_mysql.default_socket /var/run/mysqld/mysqld.sock /var/run/mysqld/mysqld.sock Phar
Phar: PHP Archive support enabled Phar EXT version 2.0.2 Phar API version 1.1.1 SVN revision $Id: 5a13ea43696d12b18046758c0fa7b12eb1098e5e $ Phar-based phar archives enabled Tar-based phar archives enabled ZIP-based phar archives enabled gzip compression enabled bzip2 compression disabled (install pecl/bz2) Native OpenSSL support enabled
Phar based on pear/PHP_Archive, original concept by Davey Shafik.
Phar fully realized by Gregory Beaver and Marcus Boerger.
Portions of tar implementation Copyright (c) 2003-2009 Tim Kientzle.
Directive Local Value Master Value phar.cache_list no value no value phar.readonly On On phar.require_hash On On posix
Revision $Id: 0a764bab332255746424a1e6cfbaaeebab998e4c $ pspell
PSpell Support enabled readline
Readline Support enabled Readline library EditLine wrapper
Directive Local Value Master Value cli.pager no value no value cli.prompt \b \> \b \> Reflection
Reflection enabled Version $Id: f1096fbe817b0413895286a603375570e78fb553 $ session
Session Support enabled Registered save handlers files user Registered serializer handlers php_serialize php php_binary wddx
Directive Local Value Master Value session.auto_start Off Off session.cache_expire 180 180 session.cache_limiter nocache nocache session.cookie_domain no value no value session.cookie_httponly no value no value session.cookie_lifetime 0 0 session.cookie_path / / session.cookie_secure 0 0 session.gc_divisor 1000 1000 session.gc_maxlifetime 1440 1440 session.gc_probability 0 0 session.lazy_write On On session.name PHPSESSID PHPSESSID session.referer_check no value no value session.save_handler files files session.save_path /home/admin/tmp /home/admin/tmp session.serialize_handler php php session.sid_bits_per_character 5 5 session.sid_length 26 26 session.upload_progress.cleanup On On session.upload_progress.enabled On On session.upload_progress.freq 1% 1% session.upload_progress.min_freq 1 1 session.upload_progress.name PHP_SESSION_UPLOAD_PROGRESS PHP_SESSION_UPLOAD_PROGRESS session.upload_progress.prefix upload_progress_ upload_progress_ session.use_cookies 1 1 session.use_only_cookies 1 1 session.use_strict_mode 0 0 session.use_trans_sid 0 0 shmop
shmop support enabled SimpleXML
Simplexml support enabled Revision $Id: 341daed0ee94ea8f728bfd0ba4626e6ed365c0d1 $ Schema support enabled sockets
Sockets Support enabled sodium
sodium support enabled libsodium headers version 1.0.16 libsodium library version 1.0.16 SPL
SPL support enabled Interfaces OuterIterator, RecursiveIterator, SeekableIterator, SplObserver, SplSubject Classes AppendIterator, ArrayIterator, ArrayObject, BadFunctionCallException, BadMethodCallException, CachingIterator, CallbackFilterIterator, DirectoryIterator, DomainException, EmptyIterator, FilesystemIterator, FilterIterator, GlobIterator, InfiniteIterator, InvalidArgumentException, IteratorIterator, LengthException, LimitIterator, LogicException, MultipleIterator, NoRewindIterator, OutOfBoundsException, OutOfRangeException, OverflowException, ParentIterator, RangeException, RecursiveArrayIterator, RecursiveCachingIterator, RecursiveCallbackFilterIterator, RecursiveDirectoryIterator, RecursiveFilterIterator, RecursiveIteratorIterator, RecursiveRegexIterator, RecursiveTreeIterator, RegexIterator, RuntimeException, SplDoublyLinkedList, SplFileInfo, SplFileObject, SplFixedArray, SplHeap, SplMinHeap, SplMaxHeap, SplObjectStorage, SplPriorityQueue, SplQueue, SplStack, SplTempFileObject, UnderflowException, UnexpectedValueException standard
Dynamic Library Support enabled Path to sendmail /usr/sbin/sendmail -t -i
Directive Local Value Master Value assert.active 1 1 assert.bail 0 0 assert.callback no value no value assert.exception 0 0 assert.quiet_eval 0 0 assert.warning 1 1 auto_detect_line_endings 0 0 default_socket_timeout 60 60 from no value no value session.trans_sid_hosts no value no value session.trans_sid_tags a=href,area=href,frame=src,form= a=href,area=href,frame=src,form= url_rewriter.hosts no value no value url_rewriter.tags form= form= user_agent no value no value sysvmsg
sysvmsg support enabled Revision $Id: 73c7c7668de72405a739f837dc62fd6ce8e5eba6 $ sysvsem
Version 7.2.15-0ubuntu0.18.04.1 sysvshm
Version 7.2.15-0ubuntu0.18.04.1 tokenizer
Tokenizer Support enabled wddx
WDDX Support enabled WDDX Session Serializer enabled xml
XML Support active XML Namespace Support active libxml2 Version 2.9.4 xmlreader
XMLReader enabled xmlwriter
XMLWriter enabled xsl
XSL enabled libxslt Version 1.1.29 libxslt compiled against libxml Version 2.9.4 EXSLT enabled libexslt Version 1.1.29 Zend OPcache
Opcode Caching Up and Running Optimization Enabled SHM Cache Enabled File Cache Disabled Startup OK Shared memory model mmap Cache hits 304972565 Cache misses 333439782 Used memory 131816176 Free memory 40552 Wasted memory 2361000 Interned Strings Used memory 8388584 Interned Strings Free memory 24 Cached scripts 3748 Cached keys 3748 Max keys 16229 OOM restarts 0 Hash keys restarts 0 Manual restarts 0
Directive Local Value Master Value opcache.blacklist_filename no value no value opcache.consistency_checks 0 0 opcache.dups_fix Off Off opcache.enable On On opcache.enable_cli Off Off opcache.enable_file_override Off Off opcache.error_log no value no value opcache.file_cache no value no value opcache.file_cache_consistency_checks 1 1 opcache.file_cache_only 0 0 opcache.file_update_protection 2 2 opcache.force_restart_timeout 180 180 opcache.huge_code_pages Off Off opcache.inherited_hack On On opcache.interned_strings_buffer 8 8 opcache.lockfile_path /tmp /tmp opcache.log_verbosity_level 1 1 opcache.max_accelerated_files 10000 10000 opcache.max_file_size 0 0 opcache.max_wasted_percentage 5 5 opcache.memory_consumption 128 128 opcache.opt_debug_level 0 0 opcache.optimization_level 0x7FFFBFFF 0x7FFFBFFF opcache.preferred_memory_model no value no value opcache.protect_memory 0 0 opcache.restrict_api no value no value opcache.revalidate_freq 2 2 opcache.revalidate_path Off Off opcache.save_comments 1 1 opcache.use_cwd On On opcache.validate_permission Off Off opcache.validate_root Off Off opcache.validate_timestamps On On zlib
ZLib Support enabled Stream Wrapper compress.zlib:// Stream Filter zlib.inflate, zlib.deflate Compiled Version 1.2.11 Linked Version 1.2.11
Directive Local Value Master Value zlib.output_compression Off Off zlib.output_compression_level -1 -1 zlib.output_handler no value no value Additional Modules
Module Name Environment
Variable Value TEMP /home/admin/tmp TMPDIR /home/admin/tmp TMP /home/admin/tmp PATH /usr/local/bin:/usr/bin:/bin HOSTNAME no value USER admin HOME /home/admin PHP Variables
Variable Value $_SERVER['TEMP'] /home/admin/tmp $_SERVER['TMPDIR'] /home/admin/tmp $_SERVER['TMP'] /home/admin/tmp $_SERVER['PATH'] /usr/local/bin:/usr/bin:/bin $_SERVER['HOSTNAME'] no value $_SERVER['USER'] admin $_SERVER['HOME'] /home/admin $_SERVER['HTTP_CF_REQUEST_ID'] 07e5291c110000cf4cb81ae000000001 $_SERVER['HTTP_CDN_LOOP'] cloudflare $_SERVER['HTTP_CF_CONNECTING_IP'] 54.85.57.0 $_SERVER['HTTP_IF_MODIFIED_SINCE'] Sun, 12 Jul 2020 10:32:51 GMT $_SERVER['HTTP_ACCEPT_LANGUAGE'] en-US,en;q=0.5 $_SERVER['HTTP_ACCEPT'] text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 $_SERVER['HTTP_USER_AGENT'] CCBot/2.0 (https://commoncrawl.org/faq/) $_SERVER['HTTP_CF_VISITOR'] {"scheme":"https"} $_SERVER['HTTP_X_FORWARDED_PROTO'] https $_SERVER['HTTP_CF_RAY'] 618211401c7dcf4c-AMS $_SERVER['HTTP_X_FORWARDED_FOR'] 54.85.57.0 $_SERVER['HTTP_CF_IPCOUNTRY'] US $_SERVER['HTTP_ACCEPT_ENCODING'] gzip $_SERVER['HTTP_CONNECTION'] Keep-Alive $_SERVER['HTTP_HOST'] 4-u.info $_SERVER['REDIRECT_STATUS'] 200 $_SERVER['SERVER_NAME'] 4-u.info $_SERVER['SERVER_PORT'] 80 $_SERVER['SERVER_ADDR'] 51.15.4.82 $_SERVER['REMOTE_PORT'] no value $_SERVER['REMOTE_ADDR'] 54.85.57.0 $_SERVER['SERVER_SOFTWARE'] nginx/1.15.9 $_SERVER['GATEWAY_INTERFACE'] CGI/1.1 $_SERVER['REQUEST_SCHEME'] http $_SERVER['SERVER_PROTOCOL'] HTTP/1.1 $_SERVER['DOCUMENT_ROOT'] /home/admin/web/4-u.info/public_html $_SERVER['DOCUMENT_URI'] /ustanovka-apache2-php5-ubuntu/index.php $_SERVER['REQUEST_URI'] /ustanovka-apache2-php5-ubuntu/ $_SERVER['SCRIPT_NAME'] /ustanovka-apache2-php5-ubuntu/index.php $_SERVER['CONTENT_LENGTH'] no value $_SERVER['CONTENT_TYPE'] no value $_SERVER['REQUEST_METHOD'] GET $_SERVER['QUERY_STRING'] no value $_SERVER['SCRIPT_FILENAME'] /home/admin/web/4-u.info/public_html/ustanovka-apache2-php5-ubuntu/index.php $_SERVER['FCGI_ROLE'] RESPONDER $_SERVER['PHP_SELF'] /ustanovka-apache2-php5-ubuntu/index.php $_SERVER['REQUEST_TIME_FLOAT'] 1611746247.757 $_SERVER['REQUEST_TIME'] 1611746247
PHP Credits
PHP Group Thies C. Arntzen, Stig Bakken, Shane Caraveo, Andi Gutmans, Rasmus Lerdorf, Sam Ruby, Sascha Schumann, Zeev Suraski, Jim Winstead, Andrei Zmievski
Language Design & Concept Andi Gutmans, Rasmus Lerdorf, Zeev Suraski, Marcus Boerger
PHP Authors Contribution Authors Zend Scripting Language Engine Andi Gutmans, Zeev Suraski, Stanislav Malyshev, Marcus Boerger, Dmitry Stogov, Xinchen Hui, Nikita Popov Extension Module API Andi Gutmans, Zeev Suraski, Andrei Zmievski UNIX Build and Modularization Stig Bakken, Sascha Schumann, Jani Taskinen Windows Support Shane Caraveo, Zeev Suraski, Wez Furlong, Pierre-Alain Joye, Anatol Belski, Kalle Sommer Nielsen Server API (SAPI) Abstraction Layer Andi Gutmans, Shane Caraveo, Zeev Suraski Streams Abstraction Layer Wez Furlong, Sara Golemon PHP Data Objects Layer Wez Furlong, Marcus Boerger, Sterling Hughes, George Schlossnagle, Ilia Alshanetsky Output Handler Zeev Suraski, Thies C. Arntzen, Marcus Boerger, Michael Wallner Consistent 64 bit support Anthony Ferrara, Anatol Belski
SAPI Modules Contribution Authors Apache 2.0 Handler Ian Holsman, Justin Erenkrantz (based on Apache 2.0 Filter code) CGI / FastCGI Rasmus Lerdorf, Stig Bakken, Shane Caraveo, Dmitry Stogov CLI Edin Kadribasic, Marcus Boerger, Johannes Schlueter, Moriyoshi Koizumi, Xinchen Hui Embed Edin Kadribasic FastCGI Process Manager Andrei Nigmatulin, dreamcat4, Antony Dovgal, Jerome Loyet litespeed George Wang phpdbg Felipe Pena, Joe Watkins, Bob Weinand
Module Authors Module Authors BC Math Andi Gutmans Bzip2 Sterling Hughes Calendar Shane Caraveo, Colin Viebrock, Hartmut Holzgraefe, Wez Furlong COM and .Net Wez Furlong ctype Hartmut Holzgraefe cURL Sterling Hughes Date/Time Support Derick Rethans DB-LIB (MS SQL, Sybase) Wez Furlong, Frank M. Kromann, Adam Baratz DBA Sascha Schumann, Marcus Boerger DOM Christian Stocker, Rob Richards, Marcus Boerger enchant Pierre-Alain Joye, Ilia Alshanetsky EXIF Rasmus Lerdorf, Marcus Boerger fileinfo Ilia Alshanetsky, Pierre Alain Joye, Scott MacVicar, Derick Rethans, Anatol Belski Firebird driver for PDO Ard Biesheuvel FTP Stefan Esser, Andrew Skalski GD imaging Rasmus Lerdorf, Stig Bakken, Jim Winstead, Jouni Ahto, Ilia Alshanetsky, Pierre-Alain Joye, Marcus Boerger GetText Alex Plotnick GNU GMP support Stanislav Malyshev Iconv Rui Hirokawa, Stig Bakken, Moriyoshi Koizumi IMAP Rex Logan, Mark Musone, Brian Wang, Kaj-Michael Lang, Antoni Pamies Olive, Rasmus Lerdorf, Andrew Skalski, Chuck Hagenbuch, Daniel R Kalowsky Input Filter Rasmus Lerdorf, Derick Rethans, Pierre-Alain Joye, Ilia Alshanetsky InterBase Jouni Ahto, Andrew Avdeev, Ard Biesheuvel Internationalization Ed Batutis, Vladimir Iordanov, Dmitry Lakhtyuk, Stanislav Malyshev, Vadim Savchuk, Kirti Velankar JSON Jakub Zelenka, Omar Kilani, Scott MacVicar LDAP Amitay Isaacs, Eric Warnke, Rasmus Lerdorf, Gerrit Thomson, Stig Venaas LIBXML Christian Stocker, Rob Richards, Marcus Boerger, Wez Furlong, Shane Caraveo Multibyte String Functions Tsukada Takuya, Rui Hirokawa MySQL driver for PDO George Schlossnagle, Wez Furlong, Ilia Alshanetsky, Johannes Schlueter MySQLi Zak Greant, Georg Richter, Andrey Hristov, Ulf Wendel MySQLnd Andrey Hristov, Ulf Wendel, Georg Richter, Johannes Schlüter OCI8 Stig Bakken, Thies C. Arntzen, Andy Sautins, David Benson, Maxim Maletsky, Harald Radi, Antony Dovgal, Andi Gutmans, Wez Furlong, Christopher Jones, Oracle Corporation ODBC driver for PDO Wez Furlong ODBC Stig Bakken, Andreas Karajannis, Frank M. Kromann, Daniel R. Kalowsky Opcache Andi Gutmans, Zeev Suraski, Stanislav Malyshev, Dmitry Stogov, Xinchen Hui OpenSSL Stig Venaas, Wez Furlong, Sascha Kettler, Scott MacVicar Oracle (OCI) driver for PDO Wez Furlong pcntl Jason Greene, Arnaud Le Blanc Perl Compatible Regexps Andrei Zmievski PHP Archive Gregory Beaver, Marcus Boerger PHP Data Objects Wez Furlong, Marcus Boerger, Sterling Hughes, George Schlossnagle, Ilia Alshanetsky PHP hash Sara Golemon, Rasmus Lerdorf, Stefan Esser, Michael Wallner, Scott MacVicar Posix Kristian Koehntopp PostgreSQL driver for PDO Edin Kadribasic, Ilia Alshanetsky PostgreSQL Jouni Ahto, Zeev Suraski, Yasuo Ohgaki, Chris Kings-Lynne Pspell Vlad Krupin Readline Thies C. Arntzen Recode Kristian Koehntopp Reflection Marcus Boerger, Timm Friebe, George Schlossnagle, Andrei Zmievski, Johannes Schlueter Sessions Sascha Schumann, Andrei Zmievski Shared Memory Operations Slava Poliakov, Ilia Alshanetsky SimpleXML Sterling Hughes, Marcus Boerger, Rob Richards SNMP Rasmus Lerdorf, Harrie Hazewinkel, Mike Jackson, Steven Lawrance, Johann Hanne, Boris Lytochkin SOAP Brad Lafountain, Shane Caraveo, Dmitry Stogov Sockets Chris Vandomelen, Sterling Hughes, Daniel Beulshausen, Jason Greene Sodium Frank Denis SPL Marcus Boerger, Etienne Kneuss SQLite 3.x driver for PDO Wez Furlong SQLite3 Scott MacVicar, Ilia Alshanetsky, Brad Dewar System V Message based IPC Wez Furlong System V Semaphores Tom May System V Shared Memory Christian Cartus tidy John Coggeshall, Ilia Alshanetsky tokenizer Andrei Zmievski, Johannes Schlueter WDDX Andrei Zmievski XML Stig Bakken, Thies C. Arntzen, Sterling Hughes XMLReader Rob Richards xmlrpc Dan Libby XMLWriter Rob Richards, Pierre-Alain Joye XSL Christian Stocker, Rob Richards Zip Pierre-Alain Joye, Remi Collet Zlib Rasmus Lerdorf, Stefan Roehrich, Zeev Suraski, Jade Nicoletti, Michael Wallner
PHP Documentation Authors Mehdi Achour, Friedhelm Betz, Antony Dovgal, Nuno Lopes, Hannes Magnusson, Philip Olson, Georg Richter, Damien Seguy, Jakub Vrana, Adam Harvey Editor Peter Cowburn User Note Maintainers Daniel P. Brown, Thiago Henrique Pojda Other Contributors Previously active authors, editors and other contributors are listed in the manual.
PHP Quality Assurance Team Ilia Alshanetsky, Joerg Behrens, Antony Dovgal, Stefan Esser, Moriyoshi Koizumi, Magnus Maatta, Sebastian Nohn, Derick Rethans, Melvyn Sopacua, Jani Taskinen, Pierre-Alain Joye, Dmitry Stogov, Felipe Pena, David Soria Parra, Stanislav Malyshev, Julien Pauli, Stephen Zarkos, Anatol Belski, Remi Collet, Ferenc Kovacs
Websites and Infrastructure team PHP Websites Team Rasmus Lerdorf, Hannes Magnusson, Philip Olson, Lukas Kahwe Smith, Pierre-Alain Joye, Kalle Sommer Nielsen, Peter Cowburn, Adam Harvey, Ferenc Kovacs, Levi Morrison Event Maintainers Damien Seguy, Daniel P. Brown Network Infrastructure Daniel P. Brown Windows Infrastructure Alex Schoenmaker PHP License
Pozostaje restart Apache2:
sudo systemctl restart apache2
Otwórz ponownie naszą witrynę w przeglądarce, tym razem jesteśmy zainteresowani strony test.php:
Instalacja PHP 7 na Ubuntu 16.04 zakończone i wszystko działa bardzo dobrze. Ale musimy coś innego założyć, mianowicie włączyć wyświetlanie błędów w PHP. W przeciwnym razie, jeśli wystąpi błąd, pojawi się pusta strona. Aby to zrobić, należy otworzyć /etc/php/7.0/apache2/php.ini plików, odnaleźć display_errors = off linii i zmienić się do dnia:
vi /etc/php/7.0/apache2/php.ini
Teraz przechodzimy do następnego kroku.
Instalacja MySQL Ubuntu 16,04
Bazy danych są obecnie stosowane w niemal każdych stronach silnika. Dlatego ważne jest, aby mieć na komputerze i oprogramowaniu. Instalacja Ubuntu LAMP 16,04 nie można zrobić bez bazy, ale w tym podręczniku zamiast MySQL, użyjemy jej wzmocnione i zoptymalizowaną wersję - MariaDB. Jest to bardzo solidna i skalowalny serwer SQL z wielu usprawnień i ulepszeń.
Instalacja Ubuntu 16.04 MariaDB odbywa się za pomocą polecenia:
sudo apt-get install mariadb-server mariadb-client
Po zainstalowaniu Ubuntu 16.04 MySQL jest zakończone, możemy przystąpić do konfiguracji bazy danych dla tego polecenia:
sudo mysql_secure_installation
należy najpierw wprowadzić bieżące hasło root: wystarczy nacisnąć Enter, ponieważ kod nie jest ustawiony:
Następnie kliknij w ustawić nowe hasło:
Następnie wyłączyć konto gościa:
Wyłączyć zdalny dostęp przez root:
Usuń bazę testową:
Nadpisuje tabele dotacji:
To wszystko Instalacja MySQL w Ubuntu 16.04 jest zakończona, a baza danych jest gotowa do pracy.
Instalacja phpMyAdmin w Ubuntu 16.04
Instalowanie i konfigurowanie LAMP w Ubuntu 16.04 będzie także obejmować phpMyAdmin instalacji. PhpMyAdmin - to darmowe narzędzie z wdrożenia open source do zarządzania bazami danych MySQL interfejs WWW. Jest on dostępny w oficjalnych repozytoriach Ubuntu 16.04, ustaw ją za pomocą polecenia:
sudo apt-get install phpmyadmin php-mbstring php-gettext
Ale tutaj w czasie instalacji będzie wymagało trochę konfigurację. Najpierw musimy wybrać nasz serwer WWW:
Do przemieszczania się elementów, użyj strzałek w górę / w dół, aby wybrać - spację, aby przełączyć - Tab.
W następnym oknie kreatora, proponujemy utworzenie bazy Rhpmyadmin, zgadzamy:
Wprowadź hasło, które będzie używane do łączenia się z bazą danych Rhpadmin:
Potwierdź hasło:
Domyślnie MariaDB ma plugin o nazwie unix_socket, zapobiega wejściu pod nazwą użytkownika root w Rhpmyadmin lub innego TCP-Interface. Aby ją wyłączyć, wykonaj:
sudo -i
$ echo "update user set plugin='' where User='root'; flush privileges;" | mysql -u root -p mysql
Gdy instalacja w Ubuntu 16.04 Rhpmyadmin jest kompletna, należy otworzyć przeglądarkę i wpisać adres localhost / phpmyadmin bar:
Wszystko działa, aby uzyskać dostęp do bazy danych, można wprowadzić nazwę użytkownika root i hasło, które jest ustalane w kroku ustawień MySQL:
odkrycia
To jest to: instalacja LAMP w Ubuntu 16.04 zakończyła się pomyślnie. Teraz wszystko działa, można przystąpić do tworzenia swoich projektów.
Podobne wpisy:
-
Przesyłanie plików Linux Network
09 września 2015
-
Jak sprawdzić wersję Squid
09 grudzień 2015
-
Konfiguracja samby w Ubuntu 16.04
22 stycznia 2016
-
Zainstalować i skonfigurować serwer Apache
29 czerwca 2016
Oceń ten artykuł:
( 38 Szacunki średnia: 4,89 na 5)
Ładowanie ...
Ćwierkać
Przypiąć
LAMP MEME
Wybierz swój język