Saturday, April 27, 2013

Installing Nginx and PHP on Linux Mint 13...

Step 1:
- Installing Nginx web/proxy server
$ sudo add-apt-repository ppa:nginx/$nginx
$ sudo apt-get update 
$ sudo apt-get install nginx
- Start the service
$ sudo service nginx start
- Then test the installation by opening web browser and type your ip address or localhost to the url text box. You should see a welcoming page.

Step 2:
- Installing PHP
$ sudo add-apt-repository ppa:ondrej/php5
$ sudo apt-get update
$ sudo apt-get install php5-fpm php5.cli
- Edit ini file
$ sudo nano /etc/php5/fpm/php.ini
- Change the cgi.fix_pathinfo=1 to cgi.fix_pathinfo=0

- Edit config file
$ sudo gedit /etc/nginx/sites-available/default 
- Uncomment highlighted lines below
server {
        listen 80;
        listen [::]:80 ipv6only=on default_server;

        root /usr/share/nginx/html;
        index index.html index.htm index.php;

        # Make site accessible from http://localhost/
        server_name localhost;

        location / {
            # First attempt to serve request as file, then
            # as directory, then fall back to displaying a 404.
            try_files $uri $uri/ /index.html;
            # Uncomment to enable naxsi on this location
            # include /etc/nginx/naxsi.rules
        }

        location /doc/ {
            alias /usr/share/doc/;
            autoindex on;
            allow 127.0.0.1;
            allow ::1;
            deny all;
        }

        # Only for nginx-naxsi used with nginx-naxsi-ui : process denied requests
        #location /RequestDenied {
        #   proxy_pass http://127.0.0.1:8080;    
        #}

        #error_page 404 /404.html;

        # redirect server error pages to the static page /50x.html
        #
        #error_page 500 502 503 504 /50x.html;
        #location = /50x.html {
        #    root /usr/share/nginx/html;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
        #   fastcgi_split_path_info ^(.+\.php)(/.+)$;
        #   # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
        #
        #   # With php5-cgi alone:
        #   fastcgi_pass 127.0.0.1:9000;
        #   # With php5-fpm:
            fastcgi_pass unix:/var/run/php5-fpm.sock;
            fastcgi_index index.php;
            include fastcgi_params;
        }

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        location ~ /\.ht {
            deny all;
        }
    }
- Start PHP service
$ sudo service php5-fpm start
- Restart Nginx service
$ sudo service nginx restart
- Test your installation by creating info.php file with source code below into your webserver root directory
<php?
    phpinfo();
?>
Step 3: Installing xdebug (optional)
$ sudo apt-get install php5-xdebug
- Get Loaded Configuration File (from your browser by opening info.php you've created earlier) and add the text below to php.ini
zend_extension=/usr/lib/php5/20100525/xdebug.so
xdebug.remote_enable=on
- Restart PHP and Nginx service

Important notes:
- To completely uninstall Nginx (including settings)
$ sudo apt-get purge nginx nginx-common nginx-full
- If you're getting the error below when you start Nginx service
$ nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
- Edit /etc/nginx/sites-available/default file by changing the text
from
listen [::]:80 default_server;

to
listen [::]:80 ipv6only=on default_server;

Tuesday, February 19, 2013

SAP PI TCodes...

0. SXMB_IFR -> Start Integration Builder
1. SXMB_MONI -> Integration Engine - Monitoring
2. SXI_MONITOR -> XI: Message Monitoring
3. SXI_CACHE -> To Access IS runtime cache
4. sxi_cache -> XI data directory cache
5. idx1 -> idoc adapter
6. idx2 -> idoc metadata
7. idx5 -> monitor idoc adapter
8. sm21 -> log di sistema
9. st22 -> dump abap
10. smq1 ->
11. smq2 ->
12. smicm -> J2EE administration
13. st06 -> cpu memory filesystem machine status - cpu, 14.memory and file system.
15. st03 -> workload.
16. scc4 ->
17. we20 -> partner profiles
18. sale - ale settings
19. rz10 - edit system profile
20. sm59 ->mantain rfc destinations
21. bd64 -> mantain distribution model (trasformazioni)
22. SU01 -> users
23. AL08 -> list all logged users(user login logon)
24. SE10 -> Change Request
25. SE09 -> Change Request
26. WE05 -> All idocs
27. WE19 -> IDoc Test Tool
28. WE21 -> port definition
29. SE11 -> Data dictionary
30. SM21 -> log sistem xi
31. se37 -> mantain funcion modules
32. SICF -> http server configuration
33. SMGW -> trace
34. BD13 ->
35. BD64 ->
36. pfcg -> Roles
37. tabella TSTC -> sap transactions codes
38. tabella TSTCT -> transaction descriptions
39. STMS -> transports management
40. SPAM -> apply ABAP support packages
41. SPAU -> manage objects after apply support packages
42. SE01 -> manage change requests
43. SLDCHECK -> Test SLD Connection
44. SLDAPICUST-> SLD API Customizing
45. SXMB_ADM -> Integration Engine - Administration
46. SXMB_MONI_BPE -> Process Engine - Monitoring

Friday, February 15, 2013

Post IDOC failed from ECC to SUS via PI...

Error log:
SM58 (in ECC) - EDISDEF: Port **** segment defn **** in IDoc type ****
SM21 (in PI) - Transaction Canceled IDOC_ADAPTER 155 ( "port" "segment" "parent segment" )

Root cause:
Inconsistency of IDOC metadata between ECC and PI.

Solution:
  • Login into PI ABAP stack
  • Open tcode IDX2
  • Expand IDOC types and look for parent segment as shown in log (under SM21)
  • Delete parent segment
  • Execute messages in SM58 in ECC

Opportunities come when you least expect it...

It's been a while since my last post in this blog. I've been busy learning new stuff. Most of the time in my career life I've been doing a lot of programming. Started jumping into integration pool in 2004 with Microsoft Biztalk for a year and then back to programming business again. Sometimes opportunities come when you least expect it.

Who might have thought that now I'm back into integration pool, but with a different technology. SAP PI (Process Integration), a product from SAP for integration. It might not be as cool as Microsoft Biztalk, but when dealing with integration between third party systems and SAP it might be one of the best (for more complex type of integration SAP does have another product called Business Process Management if I'm not mistaken).

Initially when I started development in PI, it is really a pain in the a$$ process. Having Biztalk as my background knowledge, I tend to make a lot of comparison between the two products. It "helps" a lot when I need to deal with "import" players (those jerks really suck the money out of the place where I work). Thank God, I finally managed to overcome with the dissatisfaction of using PI and started to appreciate it. However, my personal opinion is still the same, SAP really needs to hire a good designer for it's product. The UI really sucks.

There's more things to come in future. Life started to get interesting everyday. Now I have a new target for my career. InsyaAllah.